upd cli
- handled process exit - updated docs + readme - typos fix
This commit is contained in:
parent
7e43e0d106
commit
495217ecd5
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@entityseven/create-rage-fw",
|
"name": "@entityseven/create-rage-fw",
|
||||||
"version": "0.1.1",
|
"version": "0.1.2",
|
||||||
"bin": {
|
"bin": {
|
||||||
"rage-fw": "dist/index.js"
|
"rage-fw": "dist/index.js"
|
||||||
},
|
},
|
||||||
|
@ -1,29 +1,41 @@
|
|||||||
# RageFW CLI
|
To make you life easier while using RageFW we created a basic CLI. At the moment automation we have only works via [pnpm](https://pnpm.io/) and [bun](https://bun.sh/)
|
||||||
|
|
||||||
To make you life easier while using RageFW we created a basic CLI. At the moment automation we have only works via [pnpm](https://pnpm.io/)
|
|
||||||
|
|
||||||
``pnpm create @entityseven/rage-fw@latest``
|
``pnpm create @entityseven/rage-fw@latest``
|
||||||
|
|
||||||
## TL;DR
|
``bun create @entityseven/rage-fw@latest``
|
||||||
|
|
||||||
|
# TL;DR
|
||||||
- ``Initialize new project`` - create new template project
|
- ``Initialize new project`` - create new template project
|
||||||
|
- ``Test our RPC`` - scaffold an example for ``@entityseven/rage-fw-rpc``
|
||||||
- ``Install RAGE:MP updater`` - download and update RAGE:MP server files
|
- ``Install RAGE:MP updater`` - download and update RAGE:MP server files
|
||||||
|
|
||||||
## Options
|
# Options
|
||||||
For now, you will see a few available options. They are described in detail below
|
For now, you will see a few available options. They are described in detail below
|
||||||
|
|
||||||
- ``Initialize new project``
|
- ``Initialize new project``
|
||||||
|
- ``Test our RPC``
|
||||||
- ``Install RAGE:MP updater``
|
- ``Install RAGE:MP updater``
|
||||||
|
|
||||||
### Initialize new project
|
## Initialize new project
|
||||||
Using this options will forward you to common project-creation menu
|
Using this option will forward you to common project creation menu
|
||||||
|
|
||||||
- ``Enter project name``
|
- ``Enter project name``
|
||||||
|
This option will specify a name for your project which is used as a folder name too. Defaults to **rage-fw-example**
|
||||||
|
|
||||||
This option will specify a name for your project which is used as a folder name too. Defaults to **rage-fw**
|
- ``Select front-end``
|
||||||
|
Use selector menu to choose which front-end framework you want to use. We will do our best to expand this menu with various solutions
|
||||||
|
|
||||||
- ``Select frontend``
|
## Test our RPC
|
||||||
|
Using this option will forward you to common project creation menu
|
||||||
|
|
||||||
Use this selector menu to choose which frontend framework you want to use. We will do our best to expand this menu after some time.
|
- ``Enter project name``
|
||||||
Defaults to **React + TypeScript (Vite)**
|
This option will specify a name for your project which is used as a folder name too. Defaults to **rage-fw-rpc-example**
|
||||||
|
|
||||||
### Install Rage:MP updater
|
- ``Select front-end``
|
||||||
This option will simplify installation process of Rage:MP server files required to start your server
|
Use selector menu to choose which front-end framework you want to use. We will do our best to expand this menu with various solutions
|
||||||
|
|
||||||
|
## Install Rage:MP updater
|
||||||
|
This option will simplify installation and update process of Rage:MP server files required to start your server
|
||||||
|
|
||||||
|
# Contribution
|
||||||
|
If you wish to help us in expanding examples selection with different framework you are very welcome to open PRs and Issues
|
@ -18,19 +18,19 @@ export async function initProject() {
|
|||||||
|
|
||||||
if (!framework) {
|
if (!framework) {
|
||||||
framework = await select({
|
framework = await select({
|
||||||
message: c.gray('Select frontend:'),
|
message: c.gray('Select front-end:'),
|
||||||
default: 'react-18',
|
default: 'react-18',
|
||||||
loop: true,
|
loop: true,
|
||||||
choices: [
|
choices: [
|
||||||
{
|
{
|
||||||
name: 'React + TypeScript (Vite)',
|
name: 'React 18',
|
||||||
value: 'react-18',
|
value: 'react-18',
|
||||||
description: 'React + TypeScript (Vite) as a frontend',
|
description: 'React 18 + TypeScript (Vite) as a front-end',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
console.log(c.gray('Frontend:'), framework)
|
console.log(c.gray('Front-end:'), framework)
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
@ -38,7 +38,7 @@ export async function initProject() {
|
|||||||
folder,
|
folder,
|
||||||
c.gray('with'),
|
c.gray('with'),
|
||||||
framework,
|
framework,
|
||||||
c.gray('as a frontend..'),
|
c.gray('as a front-end..'),
|
||||||
)
|
)
|
||||||
|
|
||||||
cloneBranch(
|
cloneBranch(
|
||||||
@ -56,5 +56,6 @@ export async function initProject() {
|
|||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
console.log(c.red('Error occured: \n', e))
|
console.log(c.red('Error occured: \n', e))
|
||||||
|
console.log(c.red('Please open an issue if you see this'))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,14 @@ import { cloneBranch } from '../utils/cloner'
|
|||||||
|
|
||||||
const choices = {
|
const choices = {
|
||||||
'rpc-react-18': {
|
'rpc-react-18': {
|
||||||
name: 'Vite + React 18 + TypeScript',
|
name: 'React 18',
|
||||||
value: 'rpc-react-18',
|
value: 'rpc-react-18',
|
||||||
description: 'Vite + React 18 + TypeScript as a frontend',
|
description: 'Vite + React 18 + TypeScript as a front-end',
|
||||||
},
|
},
|
||||||
'rpc-svelte-5': {
|
'rpc-svelte-5': {
|
||||||
name: 'Vite + Svelte 5 + TypeScript',
|
name: 'Svelte 5',
|
||||||
value: 'rpc-svelte-5',
|
value: 'rpc-svelte-5',
|
||||||
description: 'Vite + Svelte 5 + TypeScript as a frontend',
|
description: 'Vite + Svelte 5 + TypeScript as a front-end',
|
||||||
},
|
},
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
@ -31,13 +31,13 @@ export async function testRpc() {
|
|||||||
|
|
||||||
if (!framework) {
|
if (!framework) {
|
||||||
framework = await select({
|
framework = await select({
|
||||||
message: c.gray('Select frontend:'),
|
message: c.gray('Select front-end:'),
|
||||||
default: 'rpc-react-18',
|
default: 'rpc-react-18',
|
||||||
loop: true,
|
loop: true,
|
||||||
choices: Object.values(choices),
|
choices: Object.values(choices),
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
console.log(c.gray('Frontend:'), framework)
|
console.log(c.gray('Front-end:'), framework)
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
@ -63,5 +63,6 @@ export async function testRpc() {
|
|||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
console.log(c.red('Error occured: \n', e))
|
console.log(c.red('Error occured: \n', e))
|
||||||
|
console.log(c.red('Please open an issue if you see this'))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -12,10 +12,19 @@ enum Actions {
|
|||||||
UPDATER = 'UPDATER',
|
UPDATER = 'UPDATER',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
process.on('exit', () => {
|
||||||
|
console.log(c.blueBright('\n\nRage FW CLI | Exiting..'))
|
||||||
|
process.exit(0)
|
||||||
|
})
|
||||||
|
|
||||||
|
process.on('SIGINT', () => {
|
||||||
|
console.log(c.blueBright('\n\nRage FW CLI | Exiting..'))
|
||||||
|
process.exit(0)
|
||||||
|
})
|
||||||
;(async () => {
|
;(async () => {
|
||||||
await checkForUpdates()
|
await checkForUpdates()
|
||||||
|
|
||||||
console.log(c.blueBright('Rage FW CLI | Powered by Entity Seven Group ️<3'))
|
console.log(c.blueBright('Rage FW CLI | Powered by Entity Seven Group <3'))
|
||||||
|
|
||||||
const action = await select({
|
const action = await select({
|
||||||
message: c.gray('Select action:'),
|
message: c.gray('Select action:'),
|
||||||
@ -26,16 +35,16 @@ enum Actions {
|
|||||||
description: 'Initialize a new project and start developing',
|
description: 'Initialize a new project and start developing',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Test our RPC',
|
name: 'Test our Rpc',
|
||||||
value: Actions.TEST_RPC,
|
value: Actions.TEST_RPC,
|
||||||
description:
|
description:
|
||||||
'Initialize a new skeleton project with our RPC set up',
|
'Initialize a new skeleton project with our Rpc all set',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Install RAGE:MP updater',
|
name: 'Install RAGE:MP updater',
|
||||||
value: Actions.UPDATER,
|
value: Actions.UPDATER,
|
||||||
description:
|
description:
|
||||||
'Use our tool to download or update RAGE:MP server files in two clicks',
|
'Use our tool to download or update RAGE:MP server files in just two clicks',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
loop: true,
|
loop: true,
|
||||||
@ -53,5 +62,6 @@ enum Actions {
|
|||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
console.log(c.red('Something went wrong..'))
|
console.log(c.red('Something went wrong..'))
|
||||||
|
console.log(c.red('Please open an issue if you see this'))
|
||||||
}
|
}
|
||||||
})()
|
})()
|
||||||
|
Loading…
Reference in New Issue
Block a user