@radkode/neo 0.3.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 +167 -0
- package/bin/cli.js +2 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +74 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/config/index.d.ts +3 -0
- package/dist/commands/config/index.d.ts.map +1 -0
- package/dist/commands/config/index.js +43 -0
- package/dist/commands/config/index.js.map +1 -0
- package/dist/commands/git/index.d.ts +3 -0
- package/dist/commands/git/index.d.ts.map +1 -0
- package/dist/commands/git/index.js +8 -0
- package/dist/commands/git/index.js.map +1 -0
- package/dist/commands/git/push/index.d.ts +3 -0
- package/dist/commands/git/push/index.d.ts.map +1 -0
- package/dist/commands/git/push/index.js +140 -0
- package/dist/commands/git/push/index.js.map +1 -0
- package/dist/commands/index.d.ts +6 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +12 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init/index.d.ts +3 -0
- package/dist/commands/init/index.d.ts.map +1 -0
- package/dist/commands/init/index.js +136 -0
- package/dist/commands/init/index.js.map +1 -0
- package/dist/core/errors/index.d.ts +168 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +260 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/interfaces/index.d.ts +292 -0
- package/dist/core/interfaces/index.d.ts.map +1 -0
- package/dist/core/interfaces/index.js +9 -0
- package/dist/core/interfaces/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/banner.d.ts +2 -0
- package/dist/utils/banner.d.ts.map +1 -0
- package/dist/utils/banner.js +13 -0
- package/dist/utils/banner.js.map +1 -0
- package/dist/utils/completions.d.ts +6 -0
- package/dist/utils/completions.d.ts.map +1 -0
- package/dist/utils/completions.js +108 -0
- package/dist/utils/completions.js.map +1 -0
- package/dist/utils/config.d.ts +38 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +128 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/installer.d.ts +28 -0
- package/dist/utils/installer.d.ts.map +1 -0
- package/dist/utils/installer.js +219 -0
- package/dist/utils/installer.js.map +1 -0
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +29 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/shell.d.ts +31 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +213 -0
- package/dist/utils/shell.js.map +1 -0
- package/package.json +83 -0
package/README.md
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# @radkode/neo
|
|
2
|
+
|
|
3
|
+
⚡ Lightning-fast TypeScript CLI framework
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add -g @radkode/neo
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or install as a dev dependency:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm add -D @radkode/neo
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Initialize a new project
|
|
21
|
+
neo init my-project
|
|
22
|
+
|
|
23
|
+
# Build the project
|
|
24
|
+
neo build --watch
|
|
25
|
+
|
|
26
|
+
# Deploy to production
|
|
27
|
+
neo deploy production
|
|
28
|
+
|
|
29
|
+
# Manage configuration
|
|
30
|
+
neo config set api.key YOUR_KEY
|
|
31
|
+
neo config get api.key
|
|
32
|
+
neo config list
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Commands
|
|
36
|
+
|
|
37
|
+
### `init [name]`
|
|
38
|
+
Initialize a new project with optional name.
|
|
39
|
+
|
|
40
|
+
Options:
|
|
41
|
+
- `-t, --template <type>` - Project template (default: "default")
|
|
42
|
+
- `--skip-install` - Skip dependency installation
|
|
43
|
+
- `--force` - Overwrite existing files
|
|
44
|
+
|
|
45
|
+
### `build`
|
|
46
|
+
Build the project.
|
|
47
|
+
|
|
48
|
+
Options:
|
|
49
|
+
- `-w, --watch` - Watch for changes
|
|
50
|
+
- `-m, --minify` - Minify output
|
|
51
|
+
- `--source-maps` - Generate source maps
|
|
52
|
+
- `-o, --output <dir>` - Output directory (default: "dist")
|
|
53
|
+
|
|
54
|
+
### `deploy [environment]`
|
|
55
|
+
Deploy the project to specified environment.
|
|
56
|
+
|
|
57
|
+
Options:
|
|
58
|
+
- `--dry-run` - Perform a dry run without deploying
|
|
59
|
+
- `--skip-build` - Skip the build step
|
|
60
|
+
- `--force` - Force deployment without confirmation
|
|
61
|
+
|
|
62
|
+
### `config`
|
|
63
|
+
Manage configuration values.
|
|
64
|
+
|
|
65
|
+
Subcommands:
|
|
66
|
+
- `config get <key>` - Get a configuration value
|
|
67
|
+
- `config set <key> <value>` - Set a configuration value
|
|
68
|
+
- `config list` - List all configuration values
|
|
69
|
+
|
|
70
|
+
## Global Options
|
|
71
|
+
|
|
72
|
+
- `-v, --verbose` - Enable verbose logging
|
|
73
|
+
- `-c, --config <path>` - Path to config file
|
|
74
|
+
- `--no-color` - Disable colored output
|
|
75
|
+
- `--no-banner` - Hide banner
|
|
76
|
+
- `-h, --help` - Display help
|
|
77
|
+
- `-V, --version` - Display version
|
|
78
|
+
|
|
79
|
+
## Development
|
|
80
|
+
|
|
81
|
+
### Setup
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
git clone https://github.com/jacekradko/radkode/neo.git
|
|
85
|
+
cd radkode/neo
|
|
86
|
+
pnpm install
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Build
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
pnpm run build
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Test
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
pnpm test
|
|
99
|
+
pnpm run test:watch
|
|
100
|
+
pnpm run test:coverage
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Local Development
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Link for local testing
|
|
107
|
+
pnpm run link-local
|
|
108
|
+
|
|
109
|
+
# Test the CLI
|
|
110
|
+
neo --help
|
|
111
|
+
|
|
112
|
+
# Unlink when done
|
|
113
|
+
pnpm run unlink-local
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Versioning & Releases
|
|
117
|
+
|
|
118
|
+
This project uses [Changesets](https://github.com/changesets/changesets) for version management and publishing.
|
|
119
|
+
|
|
120
|
+
#### Creating a Changeset
|
|
121
|
+
|
|
122
|
+
When you make changes that should be released, create a changeset:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Create a new changeset
|
|
126
|
+
pnpm changeset
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
This will:
|
|
130
|
+
1. Prompt you to select which packages to version (this project has one)
|
|
131
|
+
2. Ask for the type of change (patch, minor, major)
|
|
132
|
+
3. Request a description of the changes
|
|
133
|
+
4. Generate a changeset file in `.changeset/`
|
|
134
|
+
|
|
135
|
+
#### Release Workflow
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Check current changeset status
|
|
139
|
+
pnpm changeset:status
|
|
140
|
+
|
|
141
|
+
# Consume changesets and update version
|
|
142
|
+
pnpm version-packages
|
|
143
|
+
|
|
144
|
+
# Publish to npm (after tests pass)
|
|
145
|
+
pnpm release
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
#### Change Types
|
|
149
|
+
|
|
150
|
+
- **patch**: Bug fixes, small improvements (0.1.0 → 0.1.1)
|
|
151
|
+
- **minor**: New features, enhancements (0.1.0 → 0.2.0)
|
|
152
|
+
- **major**: Breaking changes (0.1.0 → 1.0.0)
|
|
153
|
+
|
|
154
|
+
#### CI Integration
|
|
155
|
+
|
|
156
|
+
The changeset workflow integrates with:
|
|
157
|
+
- GitHub releases and changelogs
|
|
158
|
+
- Automated version bumping
|
|
159
|
+
- NPM publishing pipeline
|
|
160
|
+
|
|
161
|
+
## License
|
|
162
|
+
|
|
163
|
+
MIT © Jacek Radko
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
Built with ⚡ by [Radkode](https://github.com/jacekradko)
|
package/bin/cli.js
ADDED
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAatD,wBAAgB,SAAS,IAAI,OAAO,CA6CnC"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Command } from '@commander-js/extra-typings';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { showBanner } from './utils/banner.js';
|
|
4
|
+
import { logger } from './utils/logger.js';
|
|
5
|
+
import { registerCommands } from './commands/index.js';
|
|
6
|
+
import { readFileSync } from 'fs';
|
|
7
|
+
import { fileURLToPath } from 'url';
|
|
8
|
+
import { dirname, join } from 'path';
|
|
9
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
+
const __dirname = dirname(__filename);
|
|
11
|
+
const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
|
|
12
|
+
export function createCLI() {
|
|
13
|
+
const program = new Command();
|
|
14
|
+
program
|
|
15
|
+
.name('neo')
|
|
16
|
+
.description(packageJson.description)
|
|
17
|
+
.version(packageJson.version)
|
|
18
|
+
.option('-v, --verbose', 'enable verbose logging')
|
|
19
|
+
.option('-c, --config <path>', 'path to config file')
|
|
20
|
+
.option('--no-color', 'disable colored output')
|
|
21
|
+
.option('--no-banner', 'hide banner')
|
|
22
|
+
.hook('preAction', (thisCommand, actionCommand) => {
|
|
23
|
+
const opts = thisCommand.opts();
|
|
24
|
+
const commandName = actionCommand.name();
|
|
25
|
+
const skipBanner = opts.banner === false ||
|
|
26
|
+
commandName === 'version' ||
|
|
27
|
+
commandName === 'help' ||
|
|
28
|
+
process.argv.includes('--version') ||
|
|
29
|
+
process.argv.includes('-V') ||
|
|
30
|
+
process.argv.includes('--help') ||
|
|
31
|
+
process.argv.includes('-h');
|
|
32
|
+
if (!skipBanner) {
|
|
33
|
+
showBanner();
|
|
34
|
+
}
|
|
35
|
+
if (opts.verbose) {
|
|
36
|
+
logger.setVerbose(true);
|
|
37
|
+
logger.debug(`Executing command: ${commandName}`);
|
|
38
|
+
}
|
|
39
|
+
if (opts.color === false) {
|
|
40
|
+
chalk.level = 0;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
registerCommands(program);
|
|
44
|
+
return program;
|
|
45
|
+
}
|
|
46
|
+
if (import.meta.url === `file://${process.argv[1]}` || process.argv[1]?.endsWith('cli.js')) {
|
|
47
|
+
const program = createCLI();
|
|
48
|
+
if (process.argv.length <= 2) {
|
|
49
|
+
program.help();
|
|
50
|
+
}
|
|
51
|
+
program.exitOverride();
|
|
52
|
+
try {
|
|
53
|
+
program.parse();
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (err && typeof err === 'object' && 'code' in err) {
|
|
57
|
+
if (err.code === 'commander.helpDisplayed' || err.code === 'commander.help') {
|
|
58
|
+
process.exit(0);
|
|
59
|
+
}
|
|
60
|
+
if (err.code === 'commander.version') {
|
|
61
|
+
process.exit(0);
|
|
62
|
+
}
|
|
63
|
+
if (err.code === 'commander.missingArgument' || err.code === 'commander.unknownCommand') {
|
|
64
|
+
console.error(`\n${chalk.red('Error:')} ${err instanceof Error ? err.message : String(err)}`);
|
|
65
|
+
console.log(`\nRun ${chalk.cyan('neo --help')} for usage information.`);
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
70
|
+
logger.error(errorMessage);
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,wBAAgB,mBAAmB,IAAI,OAAO,CAU7C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Command } from '@commander-js/extra-typings';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { logger } from '../../utils/logger.js';
|
|
4
|
+
export function createConfigCommand() {
|
|
5
|
+
const command = new Command('config');
|
|
6
|
+
command
|
|
7
|
+
.description('Manage configuration')
|
|
8
|
+
.addCommand(createConfigGetCommand())
|
|
9
|
+
.addCommand(createConfigSetCommand())
|
|
10
|
+
.addCommand(createConfigListCommand());
|
|
11
|
+
return command;
|
|
12
|
+
}
|
|
13
|
+
function createConfigGetCommand() {
|
|
14
|
+
const command = new Command('get');
|
|
15
|
+
command
|
|
16
|
+
.description('Get a configuration value')
|
|
17
|
+
.argument('<key>', 'configuration key')
|
|
18
|
+
.action((key) => {
|
|
19
|
+
logger.info(`Getting config: ${chalk.cyan(key)}`);
|
|
20
|
+
});
|
|
21
|
+
return command;
|
|
22
|
+
}
|
|
23
|
+
function createConfigSetCommand() {
|
|
24
|
+
const command = new Command('set');
|
|
25
|
+
command
|
|
26
|
+
.description('Set a configuration value')
|
|
27
|
+
.argument('<key>', 'configuration key')
|
|
28
|
+
.argument('<value>', 'configuration value')
|
|
29
|
+
.action((key, value) => {
|
|
30
|
+
logger.success(`Config set: ${chalk.cyan(key)} = ${chalk.green(value)}`);
|
|
31
|
+
});
|
|
32
|
+
return command;
|
|
33
|
+
}
|
|
34
|
+
function createConfigListCommand() {
|
|
35
|
+
const command = new Command('list');
|
|
36
|
+
command.description('List all configuration values').action(() => {
|
|
37
|
+
logger.info('Configuration values:');
|
|
38
|
+
logger.log(` ${chalk.cyan('api.key')}: ${chalk.green('****')}`);
|
|
39
|
+
logger.log(` ${chalk.cyan('theme')}: ${chalk.green('dark')}`);
|
|
40
|
+
});
|
|
41
|
+
return command;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;SACJ,WAAW,CAAC,sBAAsB,CAAC;SACnC,UAAU,CAAC,sBAAsB,EAAE,CAAC;SACpC,UAAU,CAAC,sBAAsB,EAAE,CAAC;SACpC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO;SACJ,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;SACtC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;QAEtB,MAAM,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO;SACJ,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;SACtC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;SAC1C,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QAErC,MAAM,CAAC,OAAO,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAE/D,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,wBAAgB,gBAAgB,IAAI,OAAO,CAM1C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '@commander-js/extra-typings';
|
|
2
|
+
import { createPushCommand } from '../git/push/index.js';
|
|
3
|
+
export function createGitCommand() {
|
|
4
|
+
const command = new Command('git');
|
|
5
|
+
command.description('Git operations and utilities').addCommand(createPushCommand());
|
|
6
|
+
return command;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEpF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/push/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAQtD,wBAAgB,iBAAiB,IAAI,OAAO,CAmK3C"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Command } from '@commander-js/extra-typings';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import { execa } from 'execa';
|
|
5
|
+
import inquirer from 'inquirer';
|
|
6
|
+
import { logger } from '../../../utils/logger.js';
|
|
7
|
+
export function createPushCommand() {
|
|
8
|
+
const command = new Command('push');
|
|
9
|
+
command
|
|
10
|
+
.description('Push changes to remote repository')
|
|
11
|
+
.option('-f, --force', 'force push (overwrites remote)')
|
|
12
|
+
.option('-u, --set-upstream <branch>', 'set upstream branch')
|
|
13
|
+
.option('--dry-run', 'show what would be pushed without actually pushing')
|
|
14
|
+
.option('--tags', 'push tags along with commits')
|
|
15
|
+
.action(async (options) => {
|
|
16
|
+
let branchName = '';
|
|
17
|
+
const spinner = ora('Pushing to remote...');
|
|
18
|
+
try {
|
|
19
|
+
const { stdout: currentBranch } = await execa('git', ['branch', '--show-current']);
|
|
20
|
+
branchName = currentBranch.trim();
|
|
21
|
+
logger.debug(`Current branch: ${branchName}`);
|
|
22
|
+
if (branchName === 'main') {
|
|
23
|
+
logger.log(chalk.yellow.bold('⚠️ You are about to push directly to the main branch.'));
|
|
24
|
+
logger.log(chalk.gray('This is generally not recommended as it bypasses code review processes.'));
|
|
25
|
+
const { confirmPush } = await inquirer.prompt([
|
|
26
|
+
{
|
|
27
|
+
type: 'confirm',
|
|
28
|
+
name: 'confirmPush',
|
|
29
|
+
message: 'Are you sure you want to continue?',
|
|
30
|
+
default: false,
|
|
31
|
+
},
|
|
32
|
+
]);
|
|
33
|
+
if (!confirmPush) {
|
|
34
|
+
logger.log(chalk.green("\n✅ Push cancelled. Here's how to push your changes safely:"));
|
|
35
|
+
logger.log(chalk.gray(' 1. Create a feature branch:') +
|
|
36
|
+
chalk.cyan(` git checkout -b feature/your-feature-name`));
|
|
37
|
+
logger.log(chalk.gray(' 2. Push to your branch:') +
|
|
38
|
+
chalk.cyan(` git push -u origin feature/your-feature-name`));
|
|
39
|
+
logger.log(chalk.gray(' 3. Create a pull request to merge into main'));
|
|
40
|
+
logger.log(chalk.gray('\nThis protects the main branch from accidental changes.'));
|
|
41
|
+
process.exit(0);
|
|
42
|
+
}
|
|
43
|
+
logger.log(chalk.blue('\n→ Proceeding with push to main branch...'));
|
|
44
|
+
}
|
|
45
|
+
spinner.start();
|
|
46
|
+
logger.debug(`Force push: ${options.force || false}`);
|
|
47
|
+
logger.debug(`Set upstream: ${options.setUpstream || 'none'}`);
|
|
48
|
+
logger.debug(`Dry run: ${options.dryRun || false}`);
|
|
49
|
+
logger.debug(`Push tags: ${options.tags || false}`);
|
|
50
|
+
if (options.dryRun) {
|
|
51
|
+
spinner.stop();
|
|
52
|
+
logger.info(chalk.yellow('Dry run mode - no changes will be pushed'));
|
|
53
|
+
logger.info(`Would push from branch: ${chalk.cyan(branchName)}`);
|
|
54
|
+
try {
|
|
55
|
+
const { stdout: commits } = await execa('git', [
|
|
56
|
+
'log',
|
|
57
|
+
'--oneline',
|
|
58
|
+
`origin/${branchName}..HEAD`,
|
|
59
|
+
]);
|
|
60
|
+
if (commits.trim()) {
|
|
61
|
+
logger.info('Would push the following commits:');
|
|
62
|
+
commits
|
|
63
|
+
.trim()
|
|
64
|
+
.split('\n')
|
|
65
|
+
.forEach((commit) => {
|
|
66
|
+
logger.log(` • ${commit}`);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
logger.info('No new commits to push');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
logger.info('Would push current branch (unable to determine commit differences)');
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const pushArgs = ['push'];
|
|
79
|
+
if (options.force) {
|
|
80
|
+
pushArgs.push('--force');
|
|
81
|
+
}
|
|
82
|
+
if (options.tags) {
|
|
83
|
+
pushArgs.push('--tags');
|
|
84
|
+
}
|
|
85
|
+
if (options.setUpstream) {
|
|
86
|
+
pushArgs.push('-u', 'origin', options.setUpstream);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
pushArgs.push('origin', branchName);
|
|
90
|
+
}
|
|
91
|
+
logger.debug(`Executing: git ${pushArgs.join(' ')}`);
|
|
92
|
+
const pushResult = await execa('git', pushArgs, {
|
|
93
|
+
stdio: 'pipe',
|
|
94
|
+
encoding: 'utf8',
|
|
95
|
+
});
|
|
96
|
+
spinner.succeed(chalk.green('Successfully pushed to remote!'));
|
|
97
|
+
if (pushResult.stdout) {
|
|
98
|
+
logger.log(chalk.gray(pushResult.stdout));
|
|
99
|
+
}
|
|
100
|
+
if (options.setUpstream) {
|
|
101
|
+
logger.info(`Set upstream branch: ${chalk.cyan(options.setUpstream)}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
spinner.stop();
|
|
106
|
+
if (error instanceof Error) {
|
|
107
|
+
if (error.message?.includes('not a git repository')) {
|
|
108
|
+
logger.error(chalk.red('❌ Not a git repository!'));
|
|
109
|
+
logger.log(chalk.yellow('Make sure you are in a git repository directory.'));
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
if (error.message?.includes('no upstream branch')) {
|
|
113
|
+
logger.error(chalk.red('❌ No upstream branch configured!'));
|
|
114
|
+
logger.log(chalk.yellow('Use --set-upstream to set the upstream branch:'));
|
|
115
|
+
logger.log(chalk.cyan(` git push -u origin ${branchName || 'your-branch'}`));
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
if (error.message?.includes('rejected')) {
|
|
119
|
+
logger.error(chalk.red('❌ Push was rejected!'));
|
|
120
|
+
logger.log(chalk.yellow('The remote branch has changes that conflict with your local branch.'));
|
|
121
|
+
logger.log(chalk.gray('Try pulling the latest changes first:'));
|
|
122
|
+
logger.log(chalk.cyan(` git pull origin ${branchName || 'your-branch'}`));
|
|
123
|
+
logger.log(chalk.gray('Or use --force to overwrite (use with caution):'));
|
|
124
|
+
logger.log(chalk.cyan(' git push --force'));
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
if (error.message?.includes('authentication')) {
|
|
128
|
+
logger.error(chalk.red('❌ Authentication failed!'));
|
|
129
|
+
logger.log(chalk.yellow('Check your git credentials or SSH keys.'));
|
|
130
|
+
process.exit(1);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
logger.error(chalk.red('❌ Failed to push to remote'));
|
|
134
|
+
logger.error(chalk.gray(error instanceof Error ? error.message : String(error)));
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return command;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/git/push/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Command } from '@commander-js/extra-typings';
|
|
2
|
+
export declare function registerCommands(program: Command): void;
|
|
3
|
+
export { createInitCommand } from './init/index.js';
|
|
4
|
+
export { createConfigCommand } from './config/index.js';
|
|
5
|
+
export { createGitCommand } from './git/index.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIvD;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createInitCommand } from './init/index.js';
|
|
2
|
+
import { createConfigCommand } from './config/index.js';
|
|
3
|
+
import { createGitCommand } from './git/index.js';
|
|
4
|
+
export function registerCommands(program) {
|
|
5
|
+
program.addCommand(createInitCommand());
|
|
6
|
+
program.addCommand(createConfigCommand());
|
|
7
|
+
program.addCommand(createGitCommand());
|
|
8
|
+
}
|
|
9
|
+
export { createInitCommand } from './init/index.js';
|
|
10
|
+
export { createConfigCommand } from './config/index.js';
|
|
11
|
+
export { createGitCommand } from './git/index.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAYtD,wBAAgB,iBAAiB,IAAI,OAAO,CA6J3C"}
|