@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.
- package/README.md +47 -249
- package/dist/commands/doctor.d.ts +5 -1
- package/dist/commands/doctor.js +6 -13
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/migrate.js +3 -16
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/repl.js +3 -18
- package/dist/commands/repl.js.map +1 -1
- package/dist/commands/sync.js +2 -19
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/register/database.js +2 -2
- package/dist/register/database.js.map +1 -1
- package/dist/register/lifecycle.js +14 -26
- package/dist/register/lifecycle.js.map +1 -1
- package/dist/register/tools.js +4 -3
- package/dist/register/tools.js.map +1 -1
- package/dist/utils/config-loader.d.ts +22 -0
- package/dist/utils/config-loader.js +98 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/{commands/serve.d.ts → utils/objectstack-cli.d.ts} +2 -7
- package/dist/utils/objectstack-cli.js +42 -0
- package/dist/utils/objectstack-cli.js.map +1 -0
- package/package.json +9 -12
- package/templates/hello-world/CHANGELOG.md +8 -0
- package/templates/hello-world/package.json +1 -1
- package/templates/starter/CHANGELOG.md +10 -0
- package/templates/starter/package.json +2 -5
- package/templates/starter/tsconfig.json +1 -1
- package/dist/commands/dev.d.ts +0 -18
- package/dist/commands/dev.js +0 -118
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/init.d.ts +0 -16
- package/dist/commands/init.js +0 -210
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/serve.js +0 -218
- package/dist/commands/serve.js.map +0 -1
- package/dist/commands/start.d.ts +0 -19
- package/dist/commands/start.js +0 -144
- package/dist/commands/start.js.map +0 -1
- package/templates/starter/jest.config.js +0 -33
package/dist/commands/start.js
DELETED
|
@@ -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
|
-
};
|