rapidkit 1.0.0-beta.4 โ 1.0.0-beta.5
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 +53 -1
- package/dist/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +34 -0
- package/dist/config.js.map +1 -0
- package/dist/create.d.ts +3 -0
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +95 -35
- package/dist/create.js.map +1 -1
- package/dist/errors.d.ts +27 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +50 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.js +115 -5
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +13 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +29 -0
- package/dist/logger.js.map +1 -0
- package/dist/update-checker.d.ts +3 -0
- package/dist/update-checker.d.ts.map +1 -0
- package/dist/update-checker.js +28 -0
- package/dist/update-checker.js.map +1 -0
- package/dist/validation.d.ts +4 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +36 -0
- package/dist/validation.js.map +1 -0
- package/package.json +8 -3
- package/templates/kits/fastapi-standard/kit.json +70 -0
package/README.md
CHANGED
|
@@ -187,6 +187,9 @@ npx rapidkit [workspace-name] [options]
|
|
|
187
187
|
- `--demo-only` - **[Internal]** Generate a single project in current directory (used by demo workspace script)
|
|
188
188
|
- `--skip-git` - Skip git initialization
|
|
189
189
|
- `--test-mode` - **[Beta Testing]** Install from local RapidKit path (for development/testing only)
|
|
190
|
+
- `--debug` - Enable verbose debug logging
|
|
191
|
+
- `--dry-run` - Preview what would be created without creating it
|
|
192
|
+
- `--no-update-check` - Skip checking for newer versions
|
|
190
193
|
- `--help` - Display help information
|
|
191
194
|
- `--version` - Show version number
|
|
192
195
|
|
|
@@ -227,6 +230,45 @@ npx rapidkit --demo
|
|
|
227
230
|
npx rapidkit my-workspace --demo --skip-git
|
|
228
231
|
```
|
|
229
232
|
|
|
233
|
+
### Debug mode
|
|
234
|
+
```bash
|
|
235
|
+
npx rapidkit my-workspace --debug
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Dry-run (preview without creating)
|
|
239
|
+
```bash
|
|
240
|
+
npx rapidkit my-workspace --dry-run
|
|
241
|
+
npx rapidkit my-workspace --demo --dry-run
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Configuration
|
|
245
|
+
|
|
246
|
+
### User Configuration File
|
|
247
|
+
|
|
248
|
+
Create `~/.rapidkitrc.json` in your home directory to set default values:
|
|
249
|
+
|
|
250
|
+
```json
|
|
251
|
+
{
|
|
252
|
+
"defaultKit": "fastapi.standard",
|
|
253
|
+
"defaultInstallMethod": "poetry",
|
|
254
|
+
"pythonVersion": "3.11",
|
|
255
|
+
"author": "Your Name",
|
|
256
|
+
"license": "MIT",
|
|
257
|
+
"skipGit": false
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Environment Variables
|
|
262
|
+
|
|
263
|
+
For test mode with local RapidKit installation:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
export RAPIDKIT_DEV_PATH=/path/to/local/rapidkit
|
|
267
|
+
npx rapidkit my-workspace --test-mode
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Priority:** CLI options > Environment variables > Config file > Defaults
|
|
271
|
+
|
|
230
272
|
## Requirements
|
|
231
273
|
|
|
232
274
|
- **Node.js**: 18+ (for running npx)
|
|
@@ -398,7 +440,17 @@ MIT
|
|
|
398
440
|
|
|
399
441
|
### About This Beta
|
|
400
442
|
|
|
401
|
-
**rapidkit** (npm package) is currently in beta version 1.0.0-beta.
|
|
443
|
+
**rapidkit** (npm package) is currently in beta version 1.0.0-beta.5. The `--demo` mode is fully functional for creating workspaces with bundled FastAPI templates. You can generate multiple projects within the same workspace without needing Python RapidKit installed.
|
|
444
|
+
|
|
445
|
+
**New in beta.5:**
|
|
446
|
+
- ๐ Custom error classes with detailed messages
|
|
447
|
+
- โ
Input validation for project names
|
|
448
|
+
- โ๏ธ Configuration file support (~/.rapidkitrc.json)
|
|
449
|
+
- ๐ Debug mode (--debug) and dry-run mode (--dry-run)
|
|
450
|
+
- ๐ Automatic update checker
|
|
451
|
+
- ๐งน Graceful cleanup on interrupt (Ctrl+C)
|
|
452
|
+
- ๐งช Full test suite with 26 tests
|
|
453
|
+
- ๐ Comprehensive documentation (DEVELOPMENT.md, CHANGELOG.md)
|
|
402
454
|
|
|
403
455
|
Install with:
|
|
404
456
|
```bash
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface UserConfig {
|
|
2
|
+
defaultKit?: string;
|
|
3
|
+
defaultInstallMethod?: 'poetry' | 'venv' | 'pipx';
|
|
4
|
+
pythonVersion?: '3.10' | '3.11' | '3.12';
|
|
5
|
+
author?: string;
|
|
6
|
+
license?: string;
|
|
7
|
+
skipGit?: boolean;
|
|
8
|
+
testRapidKitPath?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function loadUserConfig(): Promise<UserConfig>;
|
|
11
|
+
export declare function saveUserConfig(config: UserConfig): Promise<void>;
|
|
12
|
+
export declare function getTestRapidKitPath(config: UserConfig): string | undefined;
|
|
13
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAClD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAa1D;AAKD,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAStE;AAKD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAO1E"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { promises as fs } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import { logger } from './logger.js';
|
|
5
|
+
const CONFIG_FILE_NAME = '.rapidkitrc.json';
|
|
6
|
+
export async function loadUserConfig() {
|
|
7
|
+
const configPath = path.join(os.homedir(), CONFIG_FILE_NAME);
|
|
8
|
+
try {
|
|
9
|
+
const content = await fs.readFile(configPath, 'utf-8');
|
|
10
|
+
const config = JSON.parse(content);
|
|
11
|
+
logger.debug(`Loaded config from ${configPath}`);
|
|
12
|
+
return config;
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
logger.debug('No user config found, using defaults');
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function saveUserConfig(config) {
|
|
20
|
+
const configPath = path.join(os.homedir(), CONFIG_FILE_NAME);
|
|
21
|
+
try {
|
|
22
|
+
await fs.writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
23
|
+
logger.debug(`Saved config to ${configPath}`);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
logger.warn('Could not save configuration file');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export function getTestRapidKitPath(config) {
|
|
30
|
+
return (process.env.RAPIDKIT_DEV_PATH ||
|
|
31
|
+
config.testRapidKitPath ||
|
|
32
|
+
undefined);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAarC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAK5C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAKD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAkB;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,mBAAmB,CAAC,MAAkB;IAEpD,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,MAAM,CAAC,gBAAgB;QACvB,SAAS,CACV,CAAC;AACJ,CAAC"}
|
package/dist/create.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { UserConfig } from './config.js';
|
|
1
2
|
interface CreateProjectOptions {
|
|
2
3
|
skipGit?: boolean;
|
|
3
4
|
testMode?: boolean;
|
|
4
5
|
demoMode?: boolean;
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
userConfig?: UserConfig;
|
|
5
8
|
}
|
|
6
9
|
export declare function createProject(projectName: string | undefined, options: CreateProjectOptions): Promise<void>;
|
|
7
10
|
export {};
|
package/dist/create.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAQA,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAU9D,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,oBAAoB,iBA0J9B"}
|
package/dist/create.js
CHANGED
|
@@ -5,14 +5,19 @@ import inquirer from 'inquirer';
|
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import ora from 'ora';
|
|
7
7
|
import { execa } from 'execa';
|
|
8
|
+
import { logger } from './logger.js';
|
|
9
|
+
import { getTestRapidKitPath } from './config.js';
|
|
10
|
+
import { DirectoryExistsError, PythonNotFoundError, PoetryNotFoundError, PipxNotFoundError, InstallationError, RapidKitNotAvailableError, } from './errors.js';
|
|
8
11
|
export async function createProject(projectName, options) {
|
|
9
|
-
const { skipGit = false, testMode = false, demoMode = false } = options;
|
|
12
|
+
const { skipGit = false, testMode = false, demoMode = false, dryRun = false, userConfig = {}, } = options;
|
|
10
13
|
const name = projectName || 'rapidkit';
|
|
11
14
|
const projectPath = path.resolve(process.cwd(), name);
|
|
12
15
|
if (await fsExtra.pathExists(projectPath)) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
throw new DirectoryExistsError(name);
|
|
17
|
+
}
|
|
18
|
+
if (dryRun) {
|
|
19
|
+
await showDryRun(projectPath, name, demoMode, userConfig);
|
|
20
|
+
return;
|
|
16
21
|
}
|
|
17
22
|
if (demoMode) {
|
|
18
23
|
await createDemoWorkspace(projectPath, name, skipGit);
|
|
@@ -24,7 +29,7 @@ export async function createProject(projectName, options) {
|
|
|
24
29
|
name: 'pythonVersion',
|
|
25
30
|
message: 'Select Python version for RapidKit:',
|
|
26
31
|
choices: ['3.10', '3.11', '3.12'],
|
|
27
|
-
default: '3.11',
|
|
32
|
+
default: userConfig.pythonVersion || '3.11',
|
|
28
33
|
},
|
|
29
34
|
{
|
|
30
35
|
type: 'list',
|
|
@@ -35,22 +40,22 @@ export async function createProject(projectName, options) {
|
|
|
35
40
|
{ name: '๐ฆ pip with venv (Standard)', value: 'venv' },
|
|
36
41
|
{ name: '๐ง pipx (Global isolated install)', value: 'pipx' },
|
|
37
42
|
],
|
|
38
|
-
default: 'poetry',
|
|
43
|
+
default: userConfig.defaultInstallMethod || 'poetry',
|
|
39
44
|
},
|
|
40
45
|
]);
|
|
41
|
-
|
|
46
|
+
logger.step(1, 3, 'Setting up RapidKit environment');
|
|
42
47
|
const spinner = ora('Creating directory').start();
|
|
43
48
|
try {
|
|
44
49
|
await fsExtra.ensureDir(projectPath);
|
|
45
50
|
spinner.succeed('Directory created');
|
|
46
51
|
if (pythonAnswers.installMethod === 'poetry') {
|
|
47
|
-
await installWithPoetry(projectPath, pythonAnswers.pythonVersion, spinner, testMode);
|
|
52
|
+
await installWithPoetry(projectPath, pythonAnswers.pythonVersion, spinner, testMode, userConfig);
|
|
48
53
|
}
|
|
49
54
|
else if (pythonAnswers.installMethod === 'venv') {
|
|
50
|
-
await installWithVenv(projectPath, pythonAnswers.pythonVersion, spinner, testMode);
|
|
55
|
+
await installWithVenv(projectPath, pythonAnswers.pythonVersion, spinner, testMode, userConfig);
|
|
51
56
|
}
|
|
52
57
|
else {
|
|
53
|
-
await installWithPipx(projectPath, spinner, testMode);
|
|
58
|
+
await installWithPipx(projectPath, spinner, testMode, userConfig);
|
|
54
59
|
}
|
|
55
60
|
await createReadme(projectPath, pythonAnswers.installMethod);
|
|
56
61
|
spinner.succeed('RapidKit environment ready!');
|
|
@@ -123,17 +128,14 @@ export async function createProject(projectName, options) {
|
|
|
123
128
|
process.exit(1);
|
|
124
129
|
}
|
|
125
130
|
}
|
|
126
|
-
async function installWithPoetry(projectPath, pythonVersion, spinner, testMode) {
|
|
131
|
+
async function installWithPoetry(projectPath, pythonVersion, spinner, testMode, userConfig) {
|
|
127
132
|
spinner.start('Checking Poetry installation');
|
|
128
133
|
try {
|
|
129
134
|
await execa('poetry', ['--version']);
|
|
130
135
|
spinner.succeed('Poetry found');
|
|
131
136
|
}
|
|
132
137
|
catch (error) {
|
|
133
|
-
|
|
134
|
-
console.log(chalk.yellow('\nโ ๏ธ Poetry is not installed.'));
|
|
135
|
-
console.log(chalk.cyan('Install Poetry: https://python-poetry.org/docs/#installation\n'));
|
|
136
|
-
process.exit(1);
|
|
138
|
+
throw new PoetryNotFoundError();
|
|
137
139
|
}
|
|
138
140
|
spinner.start('Initializing Poetry project');
|
|
139
141
|
await execa('poetry', ['init', '--no-interaction', '--python', `^${pythonVersion}`], {
|
|
@@ -146,31 +148,41 @@ async function installWithPoetry(projectPath, pythonVersion, spinner, testMode)
|
|
|
146
148
|
spinner.succeed('Poetry project initialized');
|
|
147
149
|
spinner.start('Installing RapidKit');
|
|
148
150
|
if (testMode) {
|
|
149
|
-
const
|
|
151
|
+
const localPath = getTestRapidKitPath(userConfig || {});
|
|
152
|
+
if (!localPath) {
|
|
153
|
+
throw new InstallationError('Test mode installation', new Error('No local RapidKit path configured. Set RAPIDKIT_DEV_PATH environment variable.'));
|
|
154
|
+
}
|
|
155
|
+
logger.debug(`Installing from local path: ${localPath}`);
|
|
150
156
|
spinner.text = 'Installing RapidKit from local path (test mode)';
|
|
151
|
-
await execa('poetry', ['add',
|
|
157
|
+
await execa('poetry', ['add', localPath], { cwd: projectPath });
|
|
152
158
|
}
|
|
153
159
|
else {
|
|
154
|
-
|
|
160
|
+
spinner.text = 'Installing RapidKit from PyPI';
|
|
161
|
+
try {
|
|
162
|
+
await execa('poetry', ['add', 'rapidkit'], { cwd: projectPath });
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
throw new RapidKitNotAvailableError();
|
|
166
|
+
}
|
|
155
167
|
}
|
|
156
168
|
spinner.succeed('RapidKit installed');
|
|
157
169
|
}
|
|
158
|
-
async function installWithVenv(projectPath, pythonVersion, spinner, testMode) {
|
|
170
|
+
async function installWithVenv(projectPath, pythonVersion, spinner, testMode, userConfig) {
|
|
159
171
|
spinner.start(`Checking Python ${pythonVersion}`);
|
|
160
172
|
let pythonCmd = 'python3';
|
|
161
173
|
try {
|
|
162
174
|
const { stdout } = await execa(pythonCmd, ['--version']);
|
|
163
175
|
const version = stdout.match(/Python (\d+\.\d+)/)?.[1];
|
|
164
176
|
if (version && parseFloat(version) < parseFloat(pythonVersion)) {
|
|
165
|
-
throw new
|
|
177
|
+
throw new PythonNotFoundError(pythonVersion, version);
|
|
166
178
|
}
|
|
167
179
|
spinner.succeed(`Python ${version} found`);
|
|
168
180
|
}
|
|
169
181
|
catch (error) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
182
|
+
if (error instanceof PythonNotFoundError) {
|
|
183
|
+
throw error;
|
|
184
|
+
}
|
|
185
|
+
throw new PythonNotFoundError(pythonVersion);
|
|
174
186
|
}
|
|
175
187
|
spinner.start('Creating virtual environment');
|
|
176
188
|
await execa(pythonCmd, ['-m', 'venv', '.venv'], { cwd: projectPath });
|
|
@@ -179,35 +191,52 @@ async function installWithVenv(projectPath, pythonVersion, spinner, testMode) {
|
|
|
179
191
|
const pipPath = path.join(projectPath, '.venv', 'bin', 'pip');
|
|
180
192
|
await execa(pipPath, ['install', '--upgrade', 'pip'], { cwd: projectPath });
|
|
181
193
|
if (testMode) {
|
|
182
|
-
const
|
|
194
|
+
const localPath = getTestRapidKitPath(userConfig || {});
|
|
195
|
+
if (!localPath) {
|
|
196
|
+
throw new InstallationError('Test mode installation', new Error('No local RapidKit path configured. Set RAPIDKIT_DEV_PATH environment variable.'));
|
|
197
|
+
}
|
|
198
|
+
logger.debug(`Installing from local path: ${localPath}`);
|
|
183
199
|
spinner.text = 'Installing RapidKit from local path (test mode)';
|
|
184
|
-
await execa(pipPath, ['install', '-e',
|
|
200
|
+
await execa(pipPath, ['install', '-e', localPath], { cwd: projectPath });
|
|
185
201
|
}
|
|
186
202
|
else {
|
|
187
|
-
|
|
203
|
+
spinner.text = 'Installing RapidKit from PyPI';
|
|
204
|
+
try {
|
|
205
|
+
await execa(pipPath, ['install', 'rapidkit'], { cwd: projectPath });
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
throw new RapidKitNotAvailableError();
|
|
209
|
+
}
|
|
188
210
|
}
|
|
189
211
|
spinner.succeed('RapidKit installed');
|
|
190
212
|
}
|
|
191
|
-
async function installWithPipx(projectPath, spinner, testMode) {
|
|
213
|
+
async function installWithPipx(projectPath, spinner, testMode, userConfig) {
|
|
192
214
|
spinner.start('Checking pipx installation');
|
|
193
215
|
try {
|
|
194
216
|
await execa('pipx', ['--version']);
|
|
195
217
|
spinner.succeed('pipx found');
|
|
196
218
|
}
|
|
197
219
|
catch (error) {
|
|
198
|
-
|
|
199
|
-
console.log(chalk.yellow('\nโ ๏ธ pipx is not installed.'));
|
|
200
|
-
console.log(chalk.cyan('Install pipx: https://pypa.github.io/pipx/installation/\n'));
|
|
201
|
-
process.exit(1);
|
|
220
|
+
throw new PipxNotFoundError();
|
|
202
221
|
}
|
|
203
222
|
spinner.start('Installing RapidKit globally with pipx');
|
|
204
223
|
if (testMode) {
|
|
205
|
-
const
|
|
224
|
+
const localPath = getTestRapidKitPath(userConfig || {});
|
|
225
|
+
if (!localPath) {
|
|
226
|
+
throw new InstallationError('Test mode installation', new Error('No local RapidKit path configured. Set RAPIDKIT_DEV_PATH environment variable.'));
|
|
227
|
+
}
|
|
228
|
+
logger.debug(`Installing from local path: ${localPath}`);
|
|
206
229
|
spinner.text = 'Installing RapidKit from local path (test mode)';
|
|
207
|
-
await execa('pipx', ['install', '-e',
|
|
230
|
+
await execa('pipx', ['install', '-e', localPath]);
|
|
208
231
|
}
|
|
209
232
|
else {
|
|
210
|
-
|
|
233
|
+
spinner.text = 'Installing RapidKit from PyPI';
|
|
234
|
+
try {
|
|
235
|
+
await execa('pipx', ['install', 'rapidkit']);
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
throw new RapidKitNotAvailableError();
|
|
239
|
+
}
|
|
211
240
|
}
|
|
212
241
|
spinner.succeed('RapidKit installed globally');
|
|
213
242
|
await fsExtra.outputFile(path.join(projectPath, '.rapidkit-global'), 'RapidKit installed globally with pipx\n', 'utf-8');
|
|
@@ -502,4 +531,35 @@ ${name}/
|
|
|
502
531
|
throw error;
|
|
503
532
|
}
|
|
504
533
|
}
|
|
534
|
+
async function showDryRun(projectPath, _name, demoMode, userConfig) {
|
|
535
|
+
console.log(chalk.cyan('\n๐ Dry-run mode - showing what would be created:\n'));
|
|
536
|
+
console.log(chalk.white('๐ Project path:'), projectPath);
|
|
537
|
+
console.log(chalk.white('๐ฆ Project type:'), demoMode ? 'Demo workspace' : 'Full RapidKit environment');
|
|
538
|
+
if (demoMode) {
|
|
539
|
+
console.log(chalk.white('\n๐ Files to create:'));
|
|
540
|
+
console.log(chalk.gray(' - package.json'));
|
|
541
|
+
console.log(chalk.gray(' - generate-demo.js (project generator)'));
|
|
542
|
+
console.log(chalk.gray(' - README.md'));
|
|
543
|
+
console.log(chalk.gray(' - .gitignore'));
|
|
544
|
+
console.log(chalk.white('\n๐ฏ Capabilities:'));
|
|
545
|
+
console.log(chalk.gray(' - Generate multiple FastAPI demo projects'));
|
|
546
|
+
console.log(chalk.gray(' - No Python RapidKit installation required'));
|
|
547
|
+
console.log(chalk.gray(' - Bundled templates included'));
|
|
548
|
+
}
|
|
549
|
+
else {
|
|
550
|
+
console.log(chalk.white('\nโ๏ธ Configuration:'));
|
|
551
|
+
console.log(chalk.gray(` - Python version: ${userConfig.pythonVersion || '3.11'}`));
|
|
552
|
+
console.log(chalk.gray(` - Install method: ${userConfig.defaultInstallMethod || 'poetry'}`));
|
|
553
|
+
console.log(chalk.gray(` - Git initialization: ${userConfig.skipGit ? 'No' : 'Yes'}`));
|
|
554
|
+
console.log(chalk.white('\n๐ Files to create:'));
|
|
555
|
+
console.log(chalk.gray(' - pyproject.toml (Poetry) or .venv/ (venv)'));
|
|
556
|
+
console.log(chalk.gray(' - README.md'));
|
|
557
|
+
console.log(chalk.gray(' - .gitignore'));
|
|
558
|
+
console.log(chalk.white('\n๐ฏ Next steps after creation:'));
|
|
559
|
+
console.log(chalk.gray(' 1. Install RapidKit Python package'));
|
|
560
|
+
console.log(chalk.gray(' 2. Create projects with rapidkit CLI'));
|
|
561
|
+
console.log(chalk.gray(' 3. Add modules and customize'));
|
|
562
|
+
}
|
|
563
|
+
console.log(chalk.white('\n๐ก To proceed with actual creation, run without --dry-run flag\n'));
|
|
564
|
+
}
|
|
505
565
|
//# sourceMappingURL=create.js.map
|
package/dist/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare class RapidKitError extends Error {
|
|
2
|
+
code: string;
|
|
3
|
+
details?: string | undefined;
|
|
4
|
+
constructor(message: string, code: string, details?: string | undefined);
|
|
5
|
+
}
|
|
6
|
+
export declare class PythonNotFoundError extends RapidKitError {
|
|
7
|
+
constructor(requiredVersion: string, foundVersion?: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class PoetryNotFoundError extends RapidKitError {
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
export declare class PipxNotFoundError extends RapidKitError {
|
|
13
|
+
constructor();
|
|
14
|
+
}
|
|
15
|
+
export declare class DirectoryExistsError extends RapidKitError {
|
|
16
|
+
constructor(dirName: string);
|
|
17
|
+
}
|
|
18
|
+
export declare class InvalidProjectNameError extends RapidKitError {
|
|
19
|
+
constructor(name: string, reason: string);
|
|
20
|
+
}
|
|
21
|
+
export declare class InstallationError extends RapidKitError {
|
|
22
|
+
constructor(step: string, originalError: Error);
|
|
23
|
+
}
|
|
24
|
+
export declare class RapidKitNotAvailableError extends RapidKitError {
|
|
25
|
+
constructor();
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA,qBAAa,aAAc,SAAQ,KAAK;IAG7B,IAAI,EAAE,MAAM;IACZ,OAAO,CAAC,EAAE,MAAM;gBAFvB,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,YAAA;CAM1B;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CAM3D;AAED,qBAAa,mBAAoB,SAAQ,aAAa;;CAQrD;AAED,qBAAa,iBAAkB,SAAQ,aAAa;;CAQnD;AAED,qBAAa,oBAAqB,SAAQ,aAAa;gBACzC,OAAO,EAAE,MAAM;CAO5B;AAED,qBAAa,uBAAwB,SAAQ,aAAa;gBAC5C,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAOzC;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK;CAO/C;AAED,qBAAa,yBAA0B,SAAQ,aAAa;;CAQ3D"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export class RapidKitError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
details;
|
|
4
|
+
constructor(message, code, details) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.code = code;
|
|
7
|
+
this.details = details;
|
|
8
|
+
this.name = 'RapidKitError';
|
|
9
|
+
Error.captureStackTrace(this, this.constructor);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class PythonNotFoundError extends RapidKitError {
|
|
13
|
+
constructor(requiredVersion, foundVersion) {
|
|
14
|
+
const message = foundVersion
|
|
15
|
+
? `Python ${requiredVersion}+ required, found ${foundVersion}`
|
|
16
|
+
: `Python ${requiredVersion}+ not found`;
|
|
17
|
+
super(message, 'PYTHON_NOT_FOUND', `Please install Python from https://www.python.org/downloads/`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class PoetryNotFoundError extends RapidKitError {
|
|
21
|
+
constructor() {
|
|
22
|
+
super('Poetry is not installed', 'POETRY_NOT_FOUND', 'Install Poetry from https://python-poetry.org/docs/#installation');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class PipxNotFoundError extends RapidKitError {
|
|
26
|
+
constructor() {
|
|
27
|
+
super('pipx is not installed', 'PIPX_NOT_FOUND', 'Install pipx from https://pypa.github.io/pipx/installation/');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class DirectoryExistsError extends RapidKitError {
|
|
31
|
+
constructor(dirName) {
|
|
32
|
+
super(`Directory "${dirName}" already exists`, 'DIRECTORY_EXISTS', 'Please choose a different name or remove the existing directory');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export class InvalidProjectNameError extends RapidKitError {
|
|
36
|
+
constructor(name, reason) {
|
|
37
|
+
super(`Invalid project name: "${name}"`, 'INVALID_PROJECT_NAME', reason);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class InstallationError extends RapidKitError {
|
|
41
|
+
constructor(step, originalError) {
|
|
42
|
+
super(`Installation failed at step: ${step}`, 'INSTALLATION_ERROR', originalError.message);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export class RapidKitNotAvailableError extends RapidKitError {
|
|
46
|
+
constructor() {
|
|
47
|
+
super('RapidKit Python package is not yet available on PyPI', 'RAPIDKIT_NOT_AVAILABLE', 'Please use --demo mode or --test-mode with a local RapidKit installation');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAG7B;IACA;IAHT,YACE,OAAe,EACR,IAAY,EACZ,OAAgB;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;QAGvB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD,YAAY,eAAuB,EAAE,YAAqB;QACxD,MAAM,OAAO,GAAG,YAAY;YAC1B,CAAC,CAAC,UAAU,eAAe,qBAAqB,YAAY,EAAE;YAC9D,CAAC,CAAC,UAAU,eAAe,aAAa,CAAC;QAC3C,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,8DAA8D,CAAC,CAAC;IACrG,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD;QACE,KAAK,CACH,yBAAyB,EACzB,kBAAkB,EAClB,kEAAkE,CACnE,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD;QACE,KAAK,CACH,uBAAuB,EACvB,gBAAgB,EAChB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IACrD,YAAY,OAAe;QACzB,KAAK,CACH,cAAc,OAAO,kBAAkB,EACvC,kBAAkB,EAClB,iEAAiE,CAClE,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IACxD,YAAY,IAAY,EAAE,MAAc;QACtC,KAAK,CACH,0BAA0B,IAAI,GAAG,EACjC,sBAAsB,EACtB,MAAM,CACP,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,YAAY,IAAY,EAAE,aAAoB;QAC5C,KAAK,CACH,gCAAgC,IAAI,EAAE,EACtC,oBAAoB,EACpB,aAAa,CAAC,OAAO,CACtB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,aAAa;IAC1D;QACE,KAAK,CACH,sDAAsD,EACtD,wBAAwB,EACxB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;CACF"}
|
package/dist/index.js
CHANGED
|
@@ -5,22 +5,69 @@ import { createProject } from './create.js';
|
|
|
5
5
|
import { generateDemoKit } from './demo-kit.js';
|
|
6
6
|
import inquirer from 'inquirer';
|
|
7
7
|
import path from 'path';
|
|
8
|
+
import { logger } from './logger.js';
|
|
9
|
+
import { checkForUpdates, getVersion } from './update-checker.js';
|
|
10
|
+
import { loadUserConfig } from './config.js';
|
|
11
|
+
import { validateProjectName } from './validation.js';
|
|
12
|
+
import { RapidKitError } from './errors.js';
|
|
13
|
+
import * as fsExtra from 'fs-extra';
|
|
14
|
+
let currentProjectPath = null;
|
|
15
|
+
let cleanupInProgress = false;
|
|
8
16
|
const program = new Command();
|
|
9
17
|
program
|
|
10
18
|
.name('create-rapidkit')
|
|
11
19
|
.description('Create a RapidKit development environment or workspace')
|
|
12
|
-
.version(
|
|
20
|
+
.version(getVersion())
|
|
13
21
|
.argument('[directory-name]', 'Name of the workspace or project directory')
|
|
14
22
|
.option('--skip-git', 'Skip git initialization')
|
|
15
|
-
.option('--test-mode', 'Install RapidKit from local path (for testing only)')
|
|
23
|
+
.option('--test-mode', 'Install RapidKit from local path (for development/testing only)')
|
|
16
24
|
.option('--demo', 'Create workspace with demo kit templates (no Python installation required)')
|
|
17
25
|
.option('--demo-only', 'Generate a demo project in current directory (used by demo workspace)')
|
|
26
|
+
.option('--debug', 'Enable debug logging')
|
|
27
|
+
.option('--dry-run', 'Show what would be created without creating it')
|
|
28
|
+
.option('--no-update-check', 'Skip checking for updates')
|
|
18
29
|
.action(async (directoryName, options) => {
|
|
19
30
|
try {
|
|
31
|
+
if (options.debug) {
|
|
32
|
+
logger.setDebug(true);
|
|
33
|
+
logger.debug('Debug mode enabled');
|
|
34
|
+
}
|
|
35
|
+
const userConfig = await loadUserConfig();
|
|
36
|
+
logger.debug('User config loaded', userConfig);
|
|
37
|
+
if (options.updateCheck !== false) {
|
|
38
|
+
await checkForUpdates();
|
|
39
|
+
}
|
|
20
40
|
console.log(chalk.blue.bold('\n๐ Welcome to create-rapidkit!\n'));
|
|
21
41
|
if (options.demoOnly) {
|
|
22
42
|
const projectName = directoryName || 'my-fastapi-project';
|
|
43
|
+
try {
|
|
44
|
+
validateProjectName(projectName);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
if (error instanceof RapidKitError) {
|
|
48
|
+
logger.error(`\nโ ${error.message}`);
|
|
49
|
+
if (error.details) {
|
|
50
|
+
logger.warn(`๐ก ${error.details}\n`);
|
|
51
|
+
}
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
23
56
|
const projectPath = path.resolve(process.cwd(), projectName);
|
|
57
|
+
currentProjectPath = projectPath;
|
|
58
|
+
if (options.dryRun) {
|
|
59
|
+
console.log(chalk.cyan('\n๐ Dry-run mode - showing what would be created:\n'));
|
|
60
|
+
console.log(chalk.white('๐ Project path:'), projectPath);
|
|
61
|
+
console.log(chalk.white('๐ฆ Project type:'), 'FastAPI demo project');
|
|
62
|
+
console.log(chalk.white('๐ Files to create:'));
|
|
63
|
+
console.log(chalk.gray(' - src/main.py'));
|
|
64
|
+
console.log(chalk.gray(' - src/cli.py'));
|
|
65
|
+
console.log(chalk.gray(' - src/routing/'));
|
|
66
|
+
console.log(chalk.gray(' - tests/'));
|
|
67
|
+
console.log(chalk.gray(' - pyproject.toml'));
|
|
68
|
+
console.log(chalk.gray(' - README.md\n'));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
24
71
|
const answers = await inquirer.prompt([
|
|
25
72
|
{
|
|
26
73
|
type: 'input',
|
|
@@ -51,12 +98,28 @@ program
|
|
|
51
98
|
return;
|
|
52
99
|
}
|
|
53
100
|
const workspaceName = directoryName || 'rapidkit-workspace';
|
|
101
|
+
try {
|
|
102
|
+
validateProjectName(workspaceName);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (error instanceof RapidKitError) {
|
|
106
|
+
logger.error(`\nโ ${error.message}`);
|
|
107
|
+
if (error.details) {
|
|
108
|
+
logger.warn(`๐ก ${error.details}\n`);
|
|
109
|
+
}
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
currentProjectPath = path.resolve(process.cwd(), workspaceName);
|
|
54
115
|
if (options.demo) {
|
|
55
116
|
console.log(chalk.gray('This will create a workspace with demo kit templates.\nYou can generate demo projects inside without installing Python RapidKit.\n'));
|
|
56
117
|
await createProject(workspaceName, {
|
|
57
|
-
skipGit: options.skipGit,
|
|
118
|
+
skipGit: options.skipGit || userConfig.skipGit,
|
|
58
119
|
testMode: false,
|
|
59
120
|
demoMode: true,
|
|
121
|
+
dryRun: options.dryRun,
|
|
122
|
+
userConfig,
|
|
60
123
|
});
|
|
61
124
|
return;
|
|
62
125
|
}
|
|
@@ -74,15 +137,62 @@ program
|
|
|
74
137
|
}
|
|
75
138
|
console.log(chalk.yellow('โ ๏ธ Running in TEST MODE - Installing from local path\n'));
|
|
76
139
|
await createProject(workspaceName, {
|
|
77
|
-
skipGit: options.skipGit,
|
|
140
|
+
skipGit: options.skipGit || userConfig.skipGit,
|
|
78
141
|
testMode: options.testMode,
|
|
79
142
|
demoMode: false,
|
|
143
|
+
dryRun: options.dryRun,
|
|
144
|
+
userConfig,
|
|
80
145
|
});
|
|
81
146
|
}
|
|
82
147
|
catch (error) {
|
|
83
|
-
|
|
148
|
+
if (error instanceof RapidKitError) {
|
|
149
|
+
logger.error(`\nโ ${error.message}`);
|
|
150
|
+
if (error.details) {
|
|
151
|
+
logger.warn(`๐ก ${error.details}`);
|
|
152
|
+
}
|
|
153
|
+
logger.debug('Error code:', error.code);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
logger.error('\nโ An unexpected error occurred:');
|
|
157
|
+
console.error(error);
|
|
158
|
+
}
|
|
84
159
|
process.exit(1);
|
|
85
160
|
}
|
|
161
|
+
finally {
|
|
162
|
+
currentProjectPath = null;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
process.on('SIGINT', async () => {
|
|
166
|
+
if (cleanupInProgress)
|
|
167
|
+
return;
|
|
168
|
+
cleanupInProgress = true;
|
|
169
|
+
console.log(chalk.yellow('\n\nโ ๏ธ Interrupted by user'));
|
|
170
|
+
if (currentProjectPath && await fsExtra.pathExists(currentProjectPath)) {
|
|
171
|
+
console.log(chalk.gray('Cleaning up partial installation...'));
|
|
172
|
+
try {
|
|
173
|
+
await fsExtra.remove(currentProjectPath);
|
|
174
|
+
console.log(chalk.green('โ Cleanup complete'));
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
logger.debug('Cleanup failed:', error);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
process.exit(130);
|
|
181
|
+
});
|
|
182
|
+
process.on('SIGTERM', async () => {
|
|
183
|
+
if (cleanupInProgress)
|
|
184
|
+
return;
|
|
185
|
+
cleanupInProgress = true;
|
|
186
|
+
logger.debug('Received SIGTERM');
|
|
187
|
+
if (currentProjectPath && await fsExtra.pathExists(currentProjectPath)) {
|
|
188
|
+
try {
|
|
189
|
+
await fsExtra.remove(currentProjectPath);
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
logger.debug('Cleanup failed:', error);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
process.exit(143);
|
|
86
196
|
});
|
|
87
197
|
program.parse();
|
|
88
198
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare class Logger {
|
|
2
|
+
private debugEnabled;
|
|
3
|
+
setDebug(enabled: boolean): void;
|
|
4
|
+
debug(message: string, ...args: any[]): void;
|
|
5
|
+
info(message: string, ...args: any[]): void;
|
|
6
|
+
success(message: string, ...args: any[]): void;
|
|
7
|
+
warn(message: string, ...args: any[]): void;
|
|
8
|
+
error(message: string, ...args: any[]): void;
|
|
9
|
+
step(stepNum: number, total: number, message: string): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const logger: Logger;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAKA,cAAM,MAAM;IACV,OAAO,CAAC,YAAY,CAAS;IAE7B,QAAQ,CAAC,OAAO,EAAE,OAAO;IAIzB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAMrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIpC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIvC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGrD;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
class Logger {
|
|
3
|
+
debugEnabled = false;
|
|
4
|
+
setDebug(enabled) {
|
|
5
|
+
this.debugEnabled = enabled;
|
|
6
|
+
}
|
|
7
|
+
debug(message, ...args) {
|
|
8
|
+
if (this.debugEnabled) {
|
|
9
|
+
console.log(chalk.gray(`[DEBUG] ${message}`), ...args);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
info(message, ...args) {
|
|
13
|
+
console.log(chalk.blue(message), ...args);
|
|
14
|
+
}
|
|
15
|
+
success(message, ...args) {
|
|
16
|
+
console.log(chalk.green(message), ...args);
|
|
17
|
+
}
|
|
18
|
+
warn(message, ...args) {
|
|
19
|
+
console.log(chalk.yellow(message), ...args);
|
|
20
|
+
}
|
|
21
|
+
error(message, ...args) {
|
|
22
|
+
console.error(chalk.red(message), ...args);
|
|
23
|
+
}
|
|
24
|
+
step(stepNum, total, message) {
|
|
25
|
+
console.log(chalk.cyan(`\n[${stepNum}/${total}]`), chalk.white(message));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export const logger = new Logger();
|
|
29
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,MAAM;IACF,YAAY,GAAG,KAAK,CAAC;IAE7B,QAAQ,CAAC,OAAgB;QACvB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,GAAG,IAAW;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,KAAa,EAAE,OAAe;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"AAUA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBrD;AAKD,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { execa } from 'execa';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { logger } from './logger.js';
|
|
4
|
+
const PACKAGE_NAME = 'rapidkit';
|
|
5
|
+
const CURRENT_VERSION = '1.0.0-beta.5';
|
|
6
|
+
export async function checkForUpdates() {
|
|
7
|
+
try {
|
|
8
|
+
logger.debug('Checking for updates...');
|
|
9
|
+
const { stdout } = await execa('npm', ['view', PACKAGE_NAME, 'version'], {
|
|
10
|
+
timeout: 3000,
|
|
11
|
+
});
|
|
12
|
+
const latestVersion = stdout.trim();
|
|
13
|
+
if (latestVersion && latestVersion !== CURRENT_VERSION) {
|
|
14
|
+
console.log(chalk.yellow(`\nโ ๏ธ Update available: ${CURRENT_VERSION} โ ${latestVersion}`));
|
|
15
|
+
console.log(chalk.cyan('Run: npm install -g rapidkit@latest\n'));
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
logger.debug('You are using the latest version');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
logger.debug('Could not check for updates');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function getVersion() {
|
|
26
|
+
return CURRENT_VERSION;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=update-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,eAAe,GAAG,cAAc,CAAC;AAKvC,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAExC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE;YACvE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAEpC,IAAI,aAAa,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,2BAA2B,eAAe,MAAM,aAAa,EAAE,CAAC,CAC9E,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CACpD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEf,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,UAAU;IACxB,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAMA,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAqDzD;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import validateNpmPackageName from 'validate-npm-package-name';
|
|
2
|
+
import { InvalidProjectNameError } from './errors.js';
|
|
3
|
+
export function validateProjectName(name) {
|
|
4
|
+
const npmCheck = validateNpmPackageName(name);
|
|
5
|
+
if (!npmCheck.validForNewPackages) {
|
|
6
|
+
const errors = npmCheck.errors || [];
|
|
7
|
+
const warnings = npmCheck.warnings || [];
|
|
8
|
+
const issues = [...errors, ...warnings];
|
|
9
|
+
throw new InvalidProjectNameError(name, `NPM validation failed: ${issues.join(', ')}`);
|
|
10
|
+
}
|
|
11
|
+
if (!/^[a-z][a-z0-9_-]*$/.test(name)) {
|
|
12
|
+
throw new InvalidProjectNameError(name, 'Must start with a lowercase letter and contain only lowercase letters, numbers, hyphens, and underscores');
|
|
13
|
+
}
|
|
14
|
+
const reservedNames = [
|
|
15
|
+
'test', 'tests', 'src', 'dist', 'build', 'lib',
|
|
16
|
+
'python', 'pip', 'poetry', 'node', 'npm',
|
|
17
|
+
'rapidkit', 'create-rapidkit'
|
|
18
|
+
];
|
|
19
|
+
if (reservedNames.includes(name.toLowerCase())) {
|
|
20
|
+
throw new InvalidProjectNameError(name, `"${name}" is a reserved name. Please choose a different name.`);
|
|
21
|
+
}
|
|
22
|
+
if (name.length < 2) {
|
|
23
|
+
throw new InvalidProjectNameError(name, 'Name must be at least 2 characters long');
|
|
24
|
+
}
|
|
25
|
+
if (name.length > 214) {
|
|
26
|
+
throw new InvalidProjectNameError(name, 'Name must be less than 214 characters');
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
export function toSnakeCase(name) {
|
|
31
|
+
return name.replace(/-/g, '_');
|
|
32
|
+
}
|
|
33
|
+
export function toKebabCase(name) {
|
|
34
|
+
return name.replace(/_/g, '-');
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAE9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9C,CAAC;IACJ,CAAC;IAID,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAGD,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;QAC9C,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK;QACxC,UAAU,EAAE,iBAAiB;KAC9B,CAAC;IAEF,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,IAAI,IAAI,uDAAuD,CAChE,CAAC;IACJ,CAAC;IAGD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rapidkit",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Create RapidKit projects with a single command - The official CLI for RapidKit framework",
|
|
6
6
|
"keywords": [
|
|
@@ -31,7 +31,9 @@
|
|
|
31
31
|
"build": "tsc",
|
|
32
32
|
"dev": "tsc --watch",
|
|
33
33
|
"prepare": "npm run build",
|
|
34
|
-
"test": "
|
|
34
|
+
"test": "vitest run",
|
|
35
|
+
"test:watch": "vitest",
|
|
36
|
+
"test:coverage": "vitest run --coverage"
|
|
35
37
|
},
|
|
36
38
|
"dependencies": {
|
|
37
39
|
"chalk": "^5.3.0",
|
|
@@ -49,7 +51,10 @@
|
|
|
49
51
|
"@types/node": "^20.14.0",
|
|
50
52
|
"@types/nunjucks": "^3.2.6",
|
|
51
53
|
"@types/validate-npm-package-name": "^4.0.2",
|
|
52
|
-
"
|
|
54
|
+
"@vitest/coverage-v8": "^2.0.0",
|
|
55
|
+
"@vitest/ui": "^2.0.0",
|
|
56
|
+
"typescript": "^5.5.0",
|
|
57
|
+
"vitest": "^2.0.0"
|
|
53
58
|
},
|
|
54
59
|
"engines": {
|
|
55
60
|
"node": ">=18.0.0"
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "fastapi-standard",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Standard FastAPI starter kit with basic project structure",
|
|
5
|
+
"author": "RapidKit Team",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"rapidkit_min_version": "2.0.0",
|
|
8
|
+
"python_min_version": "3.10",
|
|
9
|
+
"tags": ["fastapi", "python", "api", "backend", "microservices"],
|
|
10
|
+
"features": [
|
|
11
|
+
"FastAPI application setup",
|
|
12
|
+
"Routing system with health check",
|
|
13
|
+
"Module system for extensibility",
|
|
14
|
+
"CLI commands via Poetry scripts",
|
|
15
|
+
"Testing setup with pytest",
|
|
16
|
+
"Code quality tools (black, ruff, mypy)"
|
|
17
|
+
],
|
|
18
|
+
"files": [
|
|
19
|
+
"src/main.py",
|
|
20
|
+
"src/__init__.py",
|
|
21
|
+
"src/cli.py",
|
|
22
|
+
"src/routing/__init__.py",
|
|
23
|
+
"src/routing/health.py",
|
|
24
|
+
"src/modules/__init__.py",
|
|
25
|
+
"tests/__init__.py",
|
|
26
|
+
"README.md",
|
|
27
|
+
"pyproject.toml"
|
|
28
|
+
],
|
|
29
|
+
"variables": {
|
|
30
|
+
"project_name": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "Project name (snake_case)",
|
|
33
|
+
"required": true,
|
|
34
|
+
"pattern": "^[a-z][a-z0-9_]*$"
|
|
35
|
+
},
|
|
36
|
+
"author": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "Project author name",
|
|
39
|
+
"default": "RapidKit User"
|
|
40
|
+
},
|
|
41
|
+
"description": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Project description",
|
|
44
|
+
"default": "FastAPI service generated with RapidKit"
|
|
45
|
+
},
|
|
46
|
+
"app_version": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Initial version number",
|
|
49
|
+
"default": "0.1.0",
|
|
50
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$"
|
|
51
|
+
},
|
|
52
|
+
"license": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Project license",
|
|
55
|
+
"default": "MIT",
|
|
56
|
+
"enum": ["MIT", "Apache-2.0", "BSD-3-Clause", "GPL-3.0", "Proprietary"]
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"required": {
|
|
61
|
+
"python": "^3.10",
|
|
62
|
+
"poetry": "^1.5.0"
|
|
63
|
+
},
|
|
64
|
+
"python_packages": {
|
|
65
|
+
"fastapi": "^0.100.0",
|
|
66
|
+
"uvicorn": "^0.23.0",
|
|
67
|
+
"pydantic": "^2.0.0"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|