@stacksjs/buddy 0.66.0 → 0.67.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/dist/{chunk-3zx3yk1m.js → chunk-3whxjf1k.js} +1 -4
- package/dist/chunk-42swmjjw.js +2 -0
- package/dist/chunk-564c63vr.js +2 -0
- package/dist/chunk-5wxk7vka.js +1 -0
- package/dist/chunk-6cscdnf5.js +2 -0
- package/dist/chunk-898dh3kh.js +8 -0
- package/dist/chunk-9g2p5d3j.js +2 -0
- package/dist/chunk-bpa4071y.js +2 -0
- package/dist/chunk-cbtnhpqk.js +2 -0
- package/dist/chunk-f18wwa85.js +827 -0
- package/dist/chunk-g767h9jq.js +3 -0
- package/dist/chunk-hgzxtrgw.js +9 -0
- package/dist/chunk-hqv9y9k2.js +6 -0
- package/dist/chunk-jfs19hhz.js +2 -0
- package/dist/chunk-ncwfzcsm.js +2 -0
- package/dist/chunk-pfb4369d.js +2 -0
- package/dist/chunk-sgm5999j.js +12 -0
- package/dist/chunk-we57sm1m.js +2 -0
- package/dist/chunk-wps8bq6b.js +2 -0
- package/dist/chunk-y2g00ayp.js +2 -0
- package/dist/chunk-ycyg22fp.js +2 -0
- package/dist/cli.js +1 -4
- package/dist/index.js +1 -4
- package/dist/stacks +0 -0
- package/package.json +48 -49
- package/dist/chunk-3cfvbq6w.js +0 -5
- package/dist/chunk-3cfvbq6w.js.map +0 -32
- package/dist/chunk-3v3h2zkp.js +0 -5
- package/dist/chunk-3v3h2zkp.js.map +0 -46
- package/dist/chunk-3zx3yk1m.js.map +0 -15
- package/dist/chunk-8a487snn.js +0 -5
- package/dist/chunk-8a487snn.js.map +0 -9
- package/dist/chunk-9kkf5maz.js +0 -5
- package/dist/chunk-9kkf5maz.js.map +0 -23
- package/dist/chunk-9qba8jdt.js +0 -12
- package/dist/chunk-9qba8jdt.js.map +0 -11
- package/dist/chunk-cvpb67bs.js +0 -5
- package/dist/chunk-cvpb67bs.js.map +0 -10
- package/dist/chunk-eqwfdbyk.js +0 -5
- package/dist/chunk-eqwfdbyk.js.map +0 -17
- package/dist/chunk-f41k7dpa.js +0 -5
- package/dist/chunk-f41k7dpa.js.map +0 -11
- package/dist/chunk-fx1zxxxa.js +0 -9
- package/dist/chunk-fx1zxxxa.js.map +0 -13
- package/dist/chunk-get5gzkc.js +0 -11
- package/dist/chunk-get5gzkc.js.map +0 -10
- package/dist/chunk-m43npkjw.js +0 -5
- package/dist/chunk-m43npkjw.js.map +0 -12
- package/dist/chunk-mrrgcavv.js +0 -831
- package/dist/chunk-mrrgcavv.js.map +0 -240
- package/dist/chunk-n5y0mrsg.js +0 -15
- package/dist/chunk-n5y0mrsg.js.map +0 -173
- package/dist/chunk-qebxvzqz.js +0 -5
- package/dist/chunk-qebxvzqz.js.map +0 -26
- package/dist/chunk-qj2v5psd.js +0 -5
- package/dist/chunk-qj2v5psd.js.map +0 -20
- package/dist/chunk-rh4brnzh.js +0 -5
- package/dist/chunk-rh4brnzh.js.map +0 -16
- package/dist/chunk-w2vwjv6k.js +0 -6
- package/dist/chunk-w2vwjv6k.js.map +0 -57
- package/dist/chunk-w81rbh65.js +0 -5
- package/dist/chunk-w81rbh65.js.map +0 -10
- package/dist/chunk-wayp5kn2.js +0 -5
- package/dist/chunk-wayp5kn2.js.map +0 -22
- package/dist/chunk-x5c5ngpb.js +0 -4
- package/dist/chunk-x5c5ngpb.js.map +0 -23
- package/dist/cli.js.map +0 -10
- package/dist/index.js.map +0 -9
- package/src/cli.ts +0 -105
- package/src/commands/add.ts +0 -71
- package/src/commands/build.ts +0 -299
- package/src/commands/changelog.ts +0 -52
- package/src/commands/clean.ts +0 -46
- package/src/commands/cloud.ts +0 -553
- package/src/commands/commit.ts +0 -26
- package/src/commands/configure.ts +0 -84
- package/src/commands/create.ts +0 -143
- package/src/commands/deploy.ts +0 -194
- package/src/commands/dev.ts +0 -292
- package/src/commands/dns.ts +0 -86
- package/src/commands/domains.ts +0 -255
- package/src/commands/fresh.ts +0 -48
- package/src/commands/generate.ts +0 -202
- package/src/commands/http.ts +0 -57
- package/src/commands/index.ts +0 -33
- package/src/commands/install.ts +0 -30
- package/src/commands/key.ts +0 -36
- package/src/commands/lint.ts +0 -54
- package/src/commands/list.ts +0 -42
- package/src/commands/make.ts +0 -352
- package/src/commands/migrate.ts +0 -105
- package/src/commands/outdated.ts +0 -31
- package/src/commands/ports.ts +0 -188
- package/src/commands/prepublish.ts +0 -28
- package/src/commands/projects.ts +0 -54
- package/src/commands/release.ts +0 -47
- package/src/commands/route.ts +0 -39
- package/src/commands/seed.ts +0 -47
- package/src/commands/setup.ts +0 -145
- package/src/commands/test.ts +0 -214
- package/src/commands/tinker.ts +0 -42
- package/src/commands/types.ts +0 -35
- package/src/commands/upgrade.ts +0 -200
- package/src/commands/version.ts +0 -29
- package/src/custom-cli.ts +0 -35
- package/src/index.ts +0 -1
package/src/commands/install.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { CLI, InstallOptions } from '@stacksjs/types'
|
|
2
|
-
import process from 'node:process'
|
|
3
|
-
import { log, runCommand } from '@stacksjs/cli'
|
|
4
|
-
import { path as p } from '@stacksjs/path'
|
|
5
|
-
|
|
6
|
-
export function install(buddy: CLI): void {
|
|
7
|
-
const descriptions = {
|
|
8
|
-
install: 'Install your dependencies',
|
|
9
|
-
project: 'Target a specific project',
|
|
10
|
-
verbose: 'Enable verbose output',
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
buddy
|
|
14
|
-
.command('install', descriptions.install)
|
|
15
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
16
|
-
.option('-v, --verbose', descriptions.verbose, { default: false })
|
|
17
|
-
.action(async (options: InstallOptions) => {
|
|
18
|
-
log.debug('Running `buddy install` ...', options)
|
|
19
|
-
|
|
20
|
-
await runCommand('bun install', {
|
|
21
|
-
...options,
|
|
22
|
-
cwd: p.projectPath(),
|
|
23
|
-
})
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
buddy.on('install:*', () => {
|
|
27
|
-
console.error('Invalid command: %s\nSee --help for a list of available commands.', buddy.args.join(' '))
|
|
28
|
-
process.exit(1)
|
|
29
|
-
})
|
|
30
|
-
}
|
package/src/commands/key.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { CLI, KeyOptions } from '@stacksjs/types'
|
|
2
|
-
import process from 'node:process'
|
|
3
|
-
import { runAction } from '@stacksjs/actions'
|
|
4
|
-
import { intro, log, outro } from '@stacksjs/cli'
|
|
5
|
-
import { Action } from '@stacksjs/enums'
|
|
6
|
-
|
|
7
|
-
export function key(buddy: CLI): void {
|
|
8
|
-
const descriptions = {
|
|
9
|
-
command: 'Generate & set the application key.',
|
|
10
|
-
project: 'Target a specific project',
|
|
11
|
-
verbose: 'Enable verbose output',
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
buddy
|
|
15
|
-
.command('key:generate', descriptions.command)
|
|
16
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
17
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
18
|
-
.action(async (options: KeyOptions) => {
|
|
19
|
-
log.debug('Running `buddy key:generate` ...', options)
|
|
20
|
-
|
|
21
|
-
await intro('buddy key:generate')
|
|
22
|
-
const result = await runAction(Action.KeyGenerate, options)
|
|
23
|
-
|
|
24
|
-
if (result.isErr()) {
|
|
25
|
-
log.error('Failed to set random application key.', result.error)
|
|
26
|
-
process.exit()
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
await outro('Random application key set.')
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
buddy.on('key:*', () => {
|
|
33
|
-
console.error('Invalid command: %s\nSee --help for a list of available commands.', buddy.args.join(' '))
|
|
34
|
-
process.exit(1)
|
|
35
|
-
})
|
|
36
|
-
}
|
package/src/commands/lint.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { CLI, LintOptions } from '@stacksjs/types'
|
|
2
|
-
import process from 'node:process'
|
|
3
|
-
import { runAction } from '@stacksjs/actions'
|
|
4
|
-
import { intro, log, outro, runCommand } from '@stacksjs/cli'
|
|
5
|
-
import { Action } from '@stacksjs/enums'
|
|
6
|
-
|
|
7
|
-
export function lint(buddy: CLI): void {
|
|
8
|
-
const descriptions = {
|
|
9
|
-
lint: 'Automagically lints your project codebase',
|
|
10
|
-
lintFix: 'Automagically fixes all lint errors',
|
|
11
|
-
project: 'Target a specific project',
|
|
12
|
-
verbose: 'Enable verbose output',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
buddy
|
|
16
|
-
.command('lint', descriptions.lint)
|
|
17
|
-
.option('-f, --fix', descriptions.lintFix, { default: false })
|
|
18
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
19
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
20
|
-
.action(async (options: LintOptions) => {
|
|
21
|
-
log.debug('Running `buddy lint` ...', options)
|
|
22
|
-
|
|
23
|
-
const startTime = await intro('buddy lint')
|
|
24
|
-
|
|
25
|
-
if (options.fix)
|
|
26
|
-
await runAction(Action.LintFix, { ...options })
|
|
27
|
-
else await runCommand('bunx --bun eslint .')
|
|
28
|
-
|
|
29
|
-
await outro('Linted your project', { startTime, useSeconds: true })
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
buddy
|
|
33
|
-
.command('lint:fix', descriptions.lintFix)
|
|
34
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
35
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
36
|
-
.action(async (options: LintOptions) => {
|
|
37
|
-
log.debug('Running `buddy lint:fix` ...', options)
|
|
38
|
-
|
|
39
|
-
log.info('Fixing lint errors...')
|
|
40
|
-
const result = await runAction(Action.LintFix, { ...options })
|
|
41
|
-
|
|
42
|
-
if (result.isErr()) {
|
|
43
|
-
log.error('There was an error lint fixing your code.', result.error)
|
|
44
|
-
process.exit()
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
log.success('Fixed lint errors')
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
buddy.on('lint:*', () => {
|
|
51
|
-
console.error('Invalid command: %s\nSee --help for a list of available commands.', buddy.args.join(' '))
|
|
52
|
-
process.exit(1)
|
|
53
|
-
})
|
|
54
|
-
}
|
package/src/commands/list.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { CLI, CliOptions } from '@stacksjs/types'
|
|
2
|
-
import { $ } from 'bun'
|
|
3
|
-
import process from 'node:process'
|
|
4
|
-
import { log } from '@stacksjs/logging'
|
|
5
|
-
import { projectPath } from '@stacksjs/path'
|
|
6
|
-
|
|
7
|
-
export function list(buddy: CLI): void {
|
|
8
|
-
const descriptions = {
|
|
9
|
-
list: 'List all of the project-specific Buddy commands',
|
|
10
|
-
project: 'Target a specific project',
|
|
11
|
-
verbose: 'Enable verbose output',
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
buddy
|
|
15
|
-
.command('list', descriptions.list)
|
|
16
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
17
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
18
|
-
.action(async (options: CliOptions) => {
|
|
19
|
-
log.debug('Running `buddy list` ...', options)
|
|
20
|
-
|
|
21
|
-
$.cwd(projectPath())
|
|
22
|
-
|
|
23
|
-
const test = await $`buddy --help`.text()
|
|
24
|
-
const commandsSection = test.match(/Commands:.*?(?=For more info, run any command with the)/s)?.[0]
|
|
25
|
-
|
|
26
|
-
if (commandsSection) {
|
|
27
|
-
const cleanedCommands = commandsSection
|
|
28
|
-
.replace('Commands:', '') // Remove "Commands:"
|
|
29
|
-
.replace(/^\s+/gm, '') // Trim leading whitespace from the start of each line
|
|
30
|
-
|
|
31
|
-
console.log(cleanedCommands)
|
|
32
|
-
return
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
console.error('#1 - Please reach out to our Discord for helper: https://discord.gg/stacksjs')
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
buddy.on('list:*', () => {
|
|
39
|
-
console.error('Invalid command: %s\nSee --help for a list of available commands.', buddy.args.join(' '))
|
|
40
|
-
process.exit(1)
|
|
41
|
-
})
|
|
42
|
-
}
|
package/src/commands/make.ts
DELETED
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
import type { CLI, MakeOptions } from '@stacksjs/types'
|
|
2
|
-
import process from 'node:process'
|
|
3
|
-
import {
|
|
4
|
-
createModel,
|
|
5
|
-
createNotification,
|
|
6
|
-
invoke,
|
|
7
|
-
makeAction,
|
|
8
|
-
makeComponent,
|
|
9
|
-
makeDatabase,
|
|
10
|
-
makeFunction,
|
|
11
|
-
makeLanguage,
|
|
12
|
-
makePage,
|
|
13
|
-
makeStack,
|
|
14
|
-
} from '@stacksjs/actions'
|
|
15
|
-
import { intro, italic, outro, runCommand } from '@stacksjs/cli'
|
|
16
|
-
import { localUrl } from '@stacksjs/config'
|
|
17
|
-
import { log } from '@stacksjs/logging'
|
|
18
|
-
import { path as p } from '@stacksjs/path'
|
|
19
|
-
import { ExitCode } from '@stacksjs/types'
|
|
20
|
-
|
|
21
|
-
export function make(buddy: CLI): void {
|
|
22
|
-
const descriptions = {
|
|
23
|
-
action: 'Create a new action',
|
|
24
|
-
model: 'Create a new model',
|
|
25
|
-
component: 'Create a new component',
|
|
26
|
-
page: 'Create a new page',
|
|
27
|
-
function: 'Create a new function',
|
|
28
|
-
language: 'Create a new language',
|
|
29
|
-
database: 'Create a new database',
|
|
30
|
-
migration: 'Create a new migration',
|
|
31
|
-
factory: 'Create a new factory',
|
|
32
|
-
notification: 'Create a new notification',
|
|
33
|
-
name: 'The name of the action',
|
|
34
|
-
stack: 'Create a new stack',
|
|
35
|
-
certificate: 'Create a new SSL Certificate',
|
|
36
|
-
select: 'What are you trying to make?',
|
|
37
|
-
project: 'Target a specific project',
|
|
38
|
-
verbose: 'Enable verbose output',
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
buddy
|
|
42
|
-
.command('make', 'The make command')
|
|
43
|
-
.option('-a, --action [action]', descriptions.action, { default: false })
|
|
44
|
-
.option('-m, --model [model]', descriptions.model, { default: false })
|
|
45
|
-
.option('-c, --component [component]', descriptions.component, { default: false })
|
|
46
|
-
.option('-p, --page [page]', descriptions.page, { default: false })
|
|
47
|
-
.option('-f, --function [function]', descriptions.function, { default: false })
|
|
48
|
-
.option('-l, --language [language]', descriptions.language, { default: false })
|
|
49
|
-
.option('-d, --database [database]', descriptions.database, { default: false })
|
|
50
|
-
.option('-m, --migration [migration]', descriptions.migration, { default: false })
|
|
51
|
-
.option('-f, --factory [factory]', descriptions.factory, { default: false })
|
|
52
|
-
.option('-n, --notification [notification]', descriptions.notification, { default: false })
|
|
53
|
-
.option('-s, --stack [stack]', descriptions.stack, { default: false })
|
|
54
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
55
|
-
.action(async (options: MakeOptions) => {
|
|
56
|
-
log.debug('Running `buddy make` ...', options)
|
|
57
|
-
|
|
58
|
-
const name = buddy.args[0]
|
|
59
|
-
|
|
60
|
-
if (!name) {
|
|
61
|
-
log.error('You need to specify a name. Read more about the documentation here.')
|
|
62
|
-
process.exit()
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// TODO: uncomment this when prompt is ready
|
|
66
|
-
// if (hasNoOptions(options)) {
|
|
67
|
-
// let answers = await prompt.require()
|
|
68
|
-
// .multiselect(descriptions.select, {
|
|
69
|
-
// options: [
|
|
70
|
-
// { label: 'Page', value: 'page' },
|
|
71
|
-
// { label: 'Function', value: 'function' },
|
|
72
|
-
// { label: 'Component', value: 'component' },
|
|
73
|
-
// { label: 'Notification', value: 'notification' },
|
|
74
|
-
// { label: 'Language', value: 'language' },
|
|
75
|
-
// { label: 'Database', value: 'database' },
|
|
76
|
-
// { label: 'Migration', value: 'migration' },
|
|
77
|
-
// { label: 'Factory', value: 'factory' },
|
|
78
|
-
// { label: 'Stack', value: 'stack' },
|
|
79
|
-
// ],
|
|
80
|
-
// })
|
|
81
|
-
//
|
|
82
|
-
// if (answers !== null)
|
|
83
|
-
// process.exit(ExitCode.InvalidArgument)
|
|
84
|
-
//
|
|
85
|
-
// if (isString(answers))
|
|
86
|
-
// answers = [answers]
|
|
87
|
-
//
|
|
88
|
-
// // creates an object out of array and sets answers to true
|
|
89
|
-
// options = answers.reduce((a: any, v: any) => ({ ...a, [v]: true }), {})
|
|
90
|
-
// }
|
|
91
|
-
|
|
92
|
-
await invoke(options)
|
|
93
|
-
|
|
94
|
-
process.exit(ExitCode.Success)
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
buddy
|
|
98
|
-
.command('make:component [name]', descriptions.component)
|
|
99
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
100
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
101
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
102
|
-
.action(async (name: string, options: MakeOptions) => {
|
|
103
|
-
log.debug('Running `buddy make:component` ...', options)
|
|
104
|
-
|
|
105
|
-
name = name ?? options.name
|
|
106
|
-
options.name = name
|
|
107
|
-
|
|
108
|
-
if (!name) {
|
|
109
|
-
log.error('You need to specify a name. Read more about the documentation here.')
|
|
110
|
-
process.exit()
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
await makeComponent(options)
|
|
114
|
-
})
|
|
115
|
-
|
|
116
|
-
buddy
|
|
117
|
-
.command('make:database [name]', descriptions.database)
|
|
118
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
119
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
120
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
121
|
-
.action((name: string, options: MakeOptions) => {
|
|
122
|
-
log.debug('Running `buddy make:database` ...', options)
|
|
123
|
-
|
|
124
|
-
name = name ?? options.name
|
|
125
|
-
options.name = name
|
|
126
|
-
|
|
127
|
-
if (!name) {
|
|
128
|
-
log.error('You need to specify a database name via the `--name` option, or as the command’s argument.')
|
|
129
|
-
log.info('Example: `buddy make:database my-cool-database`')
|
|
130
|
-
log.info('Or: `buddy make:database --name=my-cool-database`')
|
|
131
|
-
log.info('Read more about the documentation here: https://stacksjs.org/docs/make/database')
|
|
132
|
-
process.exit()
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
makeDatabase(options)
|
|
136
|
-
})
|
|
137
|
-
|
|
138
|
-
buddy
|
|
139
|
-
.command('make:factory [name]', descriptions.factory)
|
|
140
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
141
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
142
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
143
|
-
.action((name: string, options: MakeOptions) => {
|
|
144
|
-
log.debug('Running `buddy make:factory` ...', options)
|
|
145
|
-
|
|
146
|
-
name = name ?? options.name
|
|
147
|
-
options.name = name
|
|
148
|
-
|
|
149
|
-
if (!name) {
|
|
150
|
-
log.error('You need to specify a name. Read more about the documentation here.')
|
|
151
|
-
process.exit()
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// makeFactory(options)
|
|
155
|
-
})
|
|
156
|
-
|
|
157
|
-
buddy
|
|
158
|
-
.command('make:view [name]', descriptions.page)
|
|
159
|
-
.alias('make:page [name]')
|
|
160
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
161
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
162
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
163
|
-
.action(async (name: string, options: MakeOptions) => {
|
|
164
|
-
log.debug('Running `buddy make:view` ...', options)
|
|
165
|
-
|
|
166
|
-
name = name ?? options.name
|
|
167
|
-
options.name = name
|
|
168
|
-
|
|
169
|
-
if (!name) {
|
|
170
|
-
log.error('You need to specify a name. Read more about the documentation here.')
|
|
171
|
-
process.exit()
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
await makePage(options)
|
|
175
|
-
})
|
|
176
|
-
|
|
177
|
-
buddy
|
|
178
|
-
.command('make:function [name]', descriptions.function)
|
|
179
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
180
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
181
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
182
|
-
.action(async (options: MakeOptions) => {
|
|
183
|
-
log.debug('Running `buddy make:function` ...', options)
|
|
184
|
-
|
|
185
|
-
await makeFunction(options)
|
|
186
|
-
})
|
|
187
|
-
|
|
188
|
-
buddy
|
|
189
|
-
.command('make:lang [name]', descriptions.language)
|
|
190
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
191
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
192
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
193
|
-
.action(async (name: string, options: MakeOptions) => {
|
|
194
|
-
log.debug('Running `buddy make:lang` ...', options)
|
|
195
|
-
|
|
196
|
-
name = name ?? options.name
|
|
197
|
-
options.name = name
|
|
198
|
-
|
|
199
|
-
if (!name) {
|
|
200
|
-
log.error('You need to specify a name. Read more about the documentation here.')
|
|
201
|
-
process.exit()
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
await makeLanguage(options)
|
|
205
|
-
})
|
|
206
|
-
|
|
207
|
-
buddy
|
|
208
|
-
.command('make:notification [name]', descriptions.notification)
|
|
209
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
210
|
-
.option('-e, --email', 'Is it an email notification?', { default: true })
|
|
211
|
-
.option('-c, --chat', 'Is it a chat notification?', { default: false })
|
|
212
|
-
.option('-s, --sms', 'Is it a SMS notification?', { default: false })
|
|
213
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
214
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
215
|
-
.action(async (name: string, options: MakeOptions) => {
|
|
216
|
-
log.debug('Running `buddy make:notification` ...', options)
|
|
217
|
-
|
|
218
|
-
const perf = await intro('buddy make:notification')
|
|
219
|
-
|
|
220
|
-
name = name ?? options.name
|
|
221
|
-
options.name = name
|
|
222
|
-
|
|
223
|
-
if (!name) {
|
|
224
|
-
log.error('You need to specify a name. Read more about the documentation here.')
|
|
225
|
-
process.exit()
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
const result = await createNotification(options)
|
|
229
|
-
|
|
230
|
-
if (!result) {
|
|
231
|
-
await outro('While running the make:notification command, there was an issue', {
|
|
232
|
-
startTime: perf,
|
|
233
|
-
useSeconds: true,
|
|
234
|
-
})
|
|
235
|
-
process.exit()
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
await outro(`Created your ${italic(name)} notification.`, {
|
|
239
|
-
startTime: perf,
|
|
240
|
-
useSeconds: true,
|
|
241
|
-
})
|
|
242
|
-
process.exit(ExitCode.Success)
|
|
243
|
-
})
|
|
244
|
-
|
|
245
|
-
buddy
|
|
246
|
-
.command('make:stack [name]', descriptions.stack)
|
|
247
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
248
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
249
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
250
|
-
.action((name: string, options: MakeOptions) => {
|
|
251
|
-
log.debug('Running `buddy make:stack` ...', options)
|
|
252
|
-
|
|
253
|
-
name = name ?? options.name
|
|
254
|
-
options.name = name
|
|
255
|
-
|
|
256
|
-
if (!name) {
|
|
257
|
-
log.error('You need to specify a name. Read more about the documentation here.')
|
|
258
|
-
process.exit()
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
makeStack(options)
|
|
262
|
-
})
|
|
263
|
-
|
|
264
|
-
buddy
|
|
265
|
-
.command('make:action [name]', descriptions.action)
|
|
266
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
267
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
268
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
269
|
-
.action(async (name: string, options: MakeOptions) => {
|
|
270
|
-
log.info('Running `buddy make:action` ...')
|
|
271
|
-
log.debug('Running `buddy make:action` ...', name, options)
|
|
272
|
-
|
|
273
|
-
name = name ?? options.name
|
|
274
|
-
options.name = name
|
|
275
|
-
|
|
276
|
-
if (!name) {
|
|
277
|
-
log.error('You need to specify a name. Read more about the documentation here.')
|
|
278
|
-
process.exit()
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
await makeAction(options)
|
|
282
|
-
})
|
|
283
|
-
|
|
284
|
-
buddy
|
|
285
|
-
.command('make:model [name]', descriptions.model)
|
|
286
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
287
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
288
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
289
|
-
.action(async (name: string, options: MakeOptions) => {
|
|
290
|
-
log.debug('Running `buddy make:model` ...', options)
|
|
291
|
-
|
|
292
|
-
name = name ?? options.name
|
|
293
|
-
options.name = name
|
|
294
|
-
|
|
295
|
-
if (!name) {
|
|
296
|
-
log.error('You need to specify a model name')
|
|
297
|
-
process.exit()
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
await createModel(options)
|
|
301
|
-
})
|
|
302
|
-
|
|
303
|
-
buddy
|
|
304
|
-
.command('make:migration [name]', descriptions.migration)
|
|
305
|
-
.option('-n, --name [name]', descriptions.name, { default: false })
|
|
306
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
307
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
308
|
-
.action((name: string, options: MakeOptions) => {
|
|
309
|
-
log.debug('Running `buddy make:migration` ...', options)
|
|
310
|
-
|
|
311
|
-
name = name ?? options.name
|
|
312
|
-
options.name = name
|
|
313
|
-
|
|
314
|
-
if (!name) {
|
|
315
|
-
log.error('You need to specify a migration name')
|
|
316
|
-
process.exit()
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
// log.info(path)
|
|
320
|
-
})
|
|
321
|
-
|
|
322
|
-
buddy
|
|
323
|
-
.command('make:certificate', descriptions.certificate)
|
|
324
|
-
.alias('make:cert')
|
|
325
|
-
.example('buddy make:certificate')
|
|
326
|
-
.action(async (options: MakeOptions) => {
|
|
327
|
-
log.debug('Running `buddy make:certificate` ...', options)
|
|
328
|
-
|
|
329
|
-
const domain = await localUrl()
|
|
330
|
-
|
|
331
|
-
log.info(`Creating SSL certificate...`)
|
|
332
|
-
await runCommand(`tlsx ${domain}`, {
|
|
333
|
-
cwd: p.storagePath('keys'),
|
|
334
|
-
})
|
|
335
|
-
log.success('Certificate created')
|
|
336
|
-
|
|
337
|
-
log.info(`Installing SSL certificate...`)
|
|
338
|
-
await runCommand(`tlsx -install`, {
|
|
339
|
-
cwd: p.storagePath('keys'),
|
|
340
|
-
})
|
|
341
|
-
log.success('Certificate installed')
|
|
342
|
-
})
|
|
343
|
-
|
|
344
|
-
buddy.on('make:*', () => {
|
|
345
|
-
console.error('Invalid command: %s\nSee --help for a list of available commands.', buddy.args.join(' '))
|
|
346
|
-
process.exit(1)
|
|
347
|
-
})
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
// function hasNoOptions(options: MakeOptions) {
|
|
351
|
-
// return !options.component && !options.page && !options.function && !options.language && !options.database && !options.migration && !options.notification && !options.stack
|
|
352
|
-
// }
|
package/src/commands/migrate.ts
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import type { CLI, MigrateOptions } from '@stacksjs/types'
|
|
2
|
-
import process from 'node:process'
|
|
3
|
-
import { runAction } from '@stacksjs/actions'
|
|
4
|
-
import { intro, log, outro } from '@stacksjs/cli'
|
|
5
|
-
import { Action } from '@stacksjs/enums'
|
|
6
|
-
import { ExitCode } from '@stacksjs/types'
|
|
7
|
-
|
|
8
|
-
export function migrate(buddy: CLI): void {
|
|
9
|
-
const descriptions = {
|
|
10
|
-
migrate: 'Migrates your database',
|
|
11
|
-
dns: 'Writes the DNS records for a domain to ./config/dns.ts',
|
|
12
|
-
project: 'Target a specific project',
|
|
13
|
-
verbose: 'Enable verbose output',
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
buddy
|
|
17
|
-
.command('migrate', descriptions.migrate)
|
|
18
|
-
.option('-d, --diff', 'Show the SQL that would be run', { default: false })
|
|
19
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
20
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
21
|
-
.action(async (options: MigrateOptions) => {
|
|
22
|
-
log.debug('Running `buddy migrate` ...', options)
|
|
23
|
-
|
|
24
|
-
const perf = await intro('buddy migrate')
|
|
25
|
-
const result = await runAction(Action.Migrate, options)
|
|
26
|
-
|
|
27
|
-
if (result.isErr()) {
|
|
28
|
-
await outro(
|
|
29
|
-
'While running the migrate command, there was an issue',
|
|
30
|
-
{ startTime: perf, useSeconds: true },
|
|
31
|
-
result.error,
|
|
32
|
-
)
|
|
33
|
-
process.exit()
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const APP_ENV = process.env.APP_ENV || 'local'
|
|
37
|
-
|
|
38
|
-
await outro(`Migrated your ${APP_ENV} database.`, {
|
|
39
|
-
startTime: perf,
|
|
40
|
-
useSeconds: true,
|
|
41
|
-
})
|
|
42
|
-
process.exit(ExitCode.Success)
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
buddy
|
|
46
|
-
.command('migrate:fresh', descriptions.migrate)
|
|
47
|
-
.option('-d, --diff', 'Show the SQL that would be run', { default: false })
|
|
48
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
49
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
50
|
-
.action(async (options: MigrateOptions) => {
|
|
51
|
-
log.debug('Running `buddy migrate:fresh` ...', options)
|
|
52
|
-
|
|
53
|
-
const perf = await intro('buddy migrate:fresh')
|
|
54
|
-
const result = await runAction(Action.MigrateFresh, options)
|
|
55
|
-
|
|
56
|
-
if (result.isErr()) {
|
|
57
|
-
await outro(
|
|
58
|
-
'While running the migrate:fresh command, there was an issue',
|
|
59
|
-
{ startTime: perf, useSeconds: true },
|
|
60
|
-
result.error,
|
|
61
|
-
)
|
|
62
|
-
process.exit()
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
await outro(`All tables dropped successfully & migrated successfully`, {
|
|
66
|
-
startTime: perf,
|
|
67
|
-
useSeconds: true,
|
|
68
|
-
})
|
|
69
|
-
|
|
70
|
-
process.exit(ExitCode.Success)
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
buddy
|
|
74
|
-
.command('migrate:dns', descriptions.migrate)
|
|
75
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
76
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
77
|
-
.action(async (options: MigrateOptions) => {
|
|
78
|
-
log.debug('Running `buddy migrate:dns` ...', options)
|
|
79
|
-
|
|
80
|
-
const perf = await intro('buddy migrate:dns')
|
|
81
|
-
const result = await runAction(Action.MigrateDns, { ...options })
|
|
82
|
-
|
|
83
|
-
if (result.isErr()) {
|
|
84
|
-
await outro(
|
|
85
|
-
'While running the migrate:dns command, there was an issue',
|
|
86
|
-
{ startTime: perf, useSeconds: true },
|
|
87
|
-
result.error,
|
|
88
|
-
)
|
|
89
|
-
process.exit()
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const APP_URL = process.env.APP_URL || 'undefined'
|
|
93
|
-
|
|
94
|
-
await outro(`Migrated your ${APP_URL} DNS.`, {
|
|
95
|
-
startTime: perf,
|
|
96
|
-
useSeconds: true,
|
|
97
|
-
})
|
|
98
|
-
process.exit(ExitCode.Success)
|
|
99
|
-
})
|
|
100
|
-
|
|
101
|
-
buddy.on('migrate:*', () => {
|
|
102
|
-
console.error('Invalid command: %s\nSee --help for a list of available commands.', buddy.args.join(' '))
|
|
103
|
-
process.exit(1)
|
|
104
|
-
})
|
|
105
|
-
}
|
package/src/commands/outdated.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { CLI } from '@stacksjs/types'
|
|
2
|
-
import { $ } from 'bun'
|
|
3
|
-
import process from 'node:process'
|
|
4
|
-
import { log } from '@stacksjs/logging'
|
|
5
|
-
import { projectPath } from '@stacksjs/path'
|
|
6
|
-
|
|
7
|
-
export function outdated(buddy: CLI): void {
|
|
8
|
-
const descriptions = {
|
|
9
|
-
outdated: 'List all the outdated project dependencies',
|
|
10
|
-
project: 'Target a specific project',
|
|
11
|
-
verbose: 'Enable verbose output',
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
buddy
|
|
15
|
-
.command('outdated', descriptions.outdated)
|
|
16
|
-
.option('-p, --project [project]', descriptions.project, { default: false })
|
|
17
|
-
.option('--verbose', descriptions.verbose, { default: false })
|
|
18
|
-
.action(async () => {
|
|
19
|
-
log.debug('Running `buddy outdated` ...')
|
|
20
|
-
|
|
21
|
-
$.cwd(projectPath())
|
|
22
|
-
|
|
23
|
-
const response = await $`bun outdated`.text()
|
|
24
|
-
console.log(response)
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
buddy.on('outdated:*', () => {
|
|
28
|
-
console.error('Invalid command: %s\nSee --help for a list of available commands.', buddy.args.join(' '))
|
|
29
|
-
process.exit(1)
|
|
30
|
-
})
|
|
31
|
-
}
|