Compare commits

..

9 Commits

Author SHA1 Message Date
495217ecd5 upd cli
- handled process exit
- updated docs + readme
- typos fix
2024-10-30 18:31:53 +00:00
7e43e0d106 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	cli/package.json
#	rpc/package.json
2024-10-30 17:01:42 +00:00
2f1d1d9f0d hotfix
- licenses
- package.json consistency
- links bump
2024-10-30 17:00:36 +00:00
cc40d90070 hotfix
- licenses
- package.json consistency
- links bump
2024-10-30 16:59:33 +00:00
469d970654 Merge branch 'dev' 2024-10-30 16:29:29 +00:00
c2684a48fc Merge pull request 'Rpc integration + type fixes' (#3) from dev into master
Reviewed-on: #3
2024-10-28 12:13:19 +00:00
0059a41d0d Update readme.md 2024-06-17 03:47:57 +00:00
cc1ebbd66b quickfix issue template had extra optional label 2024-06-15 14:54:07 +01:00
301a65e77f v0.1.0
Reviewed-on: #2
2024-06-15 13:50:13 +00:00
23 changed files with 307 additions and 142 deletions

View File

@ -28,7 +28,7 @@ body:
- type: textarea
id: reproduction
attributes:
label: Reproduction (Optional)
label: Reproduction
description: Steps to reproduce the bug, if applicable
validations:
required: true
@ -57,7 +57,7 @@ body:
- type: textarea
id: additional_information
attributes:
label: Additional Information
label: Additional Information (Optional)
description: Add any other information that might be useful in diagnosing the issue
validations:
required: false

View File

15
browser/LICENSE Normal file
View File

@ -0,0 +1,15 @@
Custom Attribution-NoDerivs Software License
Copyright (c) 2024 Entity Seven Group
This license allows you to use, copy, and distribute the RageFW (the "Software"), including for commercial purposes, provided that the following conditions are met:
1. **Attribution:** You must give appropriate credit to the original author of the Software, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
2. **No Derivative Works:** You may not modify, transform, or build upon the Software.
3. **Usage and Commercial Use:** You are allowed to use, sell, and gain income from projects that utilize the Software, as long as you comply with the terms of this license.
4. **No Additional Restrictions:** You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -5,28 +5,41 @@
"types": "dist/src/index.d.ts",
"files": [
"dist/**/*",
"readme.md"
"readme.md",
"LICENSE"
],
"scripts": {
"build": "tsup"
},
"dependencies": {
"@entityseven/rage-fw-rpc": "latest"
"@entityseven/rage-fw-rpc": "0.2.5"
},
"peerDependencies": {
"@entityseven/rage-fw-shared-types": "workspace:^",
"@entityseven/rage-fw-shared-types": "0.2.0",
"@ragempcommunity/types-cef": "^2.1.8"
},
"description": "RageFW CEF side",
"keywords": [],
"author": "SashaGoncharov19",
"description": "Package used on a browser-side of your Rage:MP Server",
"keywords": [
"ragefw",
"rage-fw",
"ragemp",
"rage:mp",
"rage",
"gta5"
],
"author": "Entity Seven Group",
"contributors": [
{
"name": "rilaxik",
"name": "Danya H",
"email": "dev.rilaxik@gmail.com",
"url": "https://github.com/rilaxik"
"url": "https://github.com/rilaxik/"
},
{
"name": "Oleksandr Honcharov",
"email": "0976053529@ukr.net",
"url": "https://github.com/SashaGoncharov19/"
}
],
"license": "MIT",
"license": "Custom-Attribution-NoDerivs",
"gitHead": "ffd542c1deddb3033e16e0dae7557313ae09b05f"
}

View File

@ -1,2 +1,2 @@
# RageFW CEF
[Read docs for details](https://git.entityseven.com/entityseven/rage-framework/wiki/Docs)
# RageFW Browser
[Read docs for details](https://git.entityseven.com/entityseven/rage-framework/wiki)

21
cli/LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Entity Seven Group
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,19 +1,20 @@
{
"name": "@entityseven/create-rage-fw",
"version": "0.1.1",
"version": "0.1.2",
"bin": {
"rage-fw": "dist/index.js"
},
"main": "dist/index.js",
"files": [
"dist/**/*",
"readme.md",
"LICENSE"
],
"scripts": {
"watch": "tsc -w",
"build": "tsup",
"start": "npx ./dist create"
},
"files": [
"dist/**/*",
"readme.md"
],
"dependencies": {
"@inquirer/prompts": "^5.0.5",
"ky": "^1.7.2",
@ -26,11 +27,15 @@
"prettier": "^3.3.2",
"typescript": "^5.4.5"
},
"description": "CLI to scaffold a template project for RageFW",
"keywords": [],
"author": "rilaxik",
"contributors": [{
"name": "SashaGoncharov19"
}],
"description": "CLI to scaffold a preview for Rage-FW",
"keywords": ["create-rage-fw","ragefw-cli", "ragefw", "rage-fw", "ragemp", "rage:mp", "rage", "gta5"],
"author": "Entity Seven Group",
"contributors": [
{
"name": "Danya H",
"email": "dev.rilaxik@gmail.com",
"url": "https://github.com/rilaxik/"
}
],
"license": "MIT"
}

View File

@ -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/)
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/)
``pnpm create @entityseven/rage-fw@latest``
## TL;DR
``bun create @entityseven/rage-fw@latest``
# TL;DR
- ``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
## Options
# Options
For now, you will see a few available options. They are described in detail below
- ``Initialize new project``
- ``Test our RPC``
- ``Install RAGE:MP updater``
### Initialize new project
Using this options will forward you to common project-creation menu
## Initialize new project
Using this option will forward you to common project creation menu
- ``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.
Defaults to **React + TypeScript (Vite)**
- ``Enter project name``
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
This option will simplify installation process of Rage:MP server files required to start your server
- ``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
## 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

View File

@ -18,19 +18,19 @@ export async function initProject() {
if (!framework) {
framework = await select({
message: c.gray('Select frontend:'),
message: c.gray('Select front-end:'),
default: 'react-18',
loop: true,
choices: [
{
name: 'React + TypeScript (Vite)',
name: 'React 18',
value: 'react-18',
description: 'React + TypeScript (Vite) as a frontend',
description: 'React 18 + TypeScript (Vite) as a front-end',
},
],
})
} else {
console.log(c.gray('Frontend:'), framework)
console.log(c.gray('Front-end:'), framework)
}
console.log(
@ -38,7 +38,7 @@ export async function initProject() {
folder,
c.gray('with'),
framework,
c.gray('as a frontend..'),
c.gray('as a front-end..'),
)
cloneBranch(
@ -56,5 +56,6 @@ export async function initProject() {
})
.catch(e => {
console.log(c.red('Error occured: \n', e))
console.log(c.red('Please open an issue if you see this'))
})
}

View File

@ -5,14 +5,14 @@ import { cloneBranch } from '../utils/cloner'
const choices = {
'rpc-react-18': {
name: 'Vite + React 18 + TypeScript',
name: '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': {
name: 'Vite + Svelte 5 + TypeScript',
name: '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
@ -31,13 +31,13 @@ export async function testRpc() {
if (!framework) {
framework = await select({
message: c.gray('Select frontend:'),
message: c.gray('Select front-end:'),
default: 'rpc-react-18',
loop: true,
choices: Object.values(choices),
})
} else {
console.log(c.gray('Frontend:'), framework)
console.log(c.gray('Front-end:'), framework)
}
console.log(
@ -63,5 +63,6 @@ export async function testRpc() {
})
.catch(e => {
console.log(c.red('Error occured: \n', e))
console.log(c.red('Please open an issue if you see this'))
})
}

View File

@ -12,10 +12,19 @@ enum Actions {
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 () => {
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({
message: c.gray('Select action:'),
@ -26,16 +35,16 @@ enum Actions {
description: 'Initialize a new project and start developing',
},
{
name: 'Test our RPC',
name: 'Test our Rpc',
value: Actions.TEST_RPC,
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',
value: Actions.UPDATER,
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,
@ -53,5 +62,6 @@ enum Actions {
break
default:
console.log(c.red('Something went wrong..'))
console.log(c.red('Please open an issue if you see this'))
}
})()

15
client/LICENSE Normal file
View File

@ -0,0 +1,15 @@
Custom Attribution-NoDerivs Software License
Copyright (c) 2024 Entity Seven Group
This license allows you to use, copy, and distribute the RageFW (the "Software"), including for commercial purposes, provided that the following conditions are met:
1. **Attribution:** You must give appropriate credit to the original author of the Software, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
2. **No Derivative Works:** You may not modify, transform, or build upon the Software.
3. **Usage and Commercial Use:** You are allowed to use, sell, and gain income from projects that utilize the Software, as long as you comply with the terms of this license.
4. **No Additional Restrictions:** You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -5,28 +5,34 @@
"types": "dist/src/index.d.ts",
"files": [
"dist/**/*",
"readme.md"
"readme.md",
"LICENSE"
],
"scripts": {
"build": "tsup"
},
"dependencies": {
"@entityseven/rage-fw-rpc": "latest"
"@entityseven/rage-fw-rpc": "0.2.5"
},
"peerDependencies": {
"@entityseven/rage-fw-shared-types": "workspace:^",
"@entityseven/rage-fw-shared-types": "0.2.0",
"@ragempcommunity/types-client": "^2.1.8"
},
"description": "RageFW Client side",
"keywords": [],
"author": "SashaGoncharov19",
"description": "Package used on a client-side of your Rage:MP Server",
"keywords": ["rage-fw-client", "ragefw", "rage-fw", "ragemp", "rage:mp", "rage", "gta5"],
"author": "Entity Seven Group",
"contributors": [
{
"name": "rilaxik",
"name": "Danya H",
"email": "dev.rilaxik@gmail.com",
"url": "https://github.com/rilaxik"
"url": "https://github.com/rilaxik/"
},
{
"name": "Oleksandr Honcharov",
"email": "0976053529@ukr.net",
"url": "https://github.com/SashaGoncharov19/"
}
],
"license": "MIT",
"license": "Custom-Attribution-NoDerivs",
"gitHead": "ffd542c1deddb3033e16e0dae7557313ae09b05f"
}

View File

@ -1,2 +1,2 @@
# RageFW Client
[Read docs for details](https://git.entityseven.com/entityseven/rage-framework/wiki/Docs)
[Read docs for details](https://git.entityseven.com/entityseven/rage-framework/wiki)

View File

@ -1,5 +1,4 @@
{
"private": true,
"scripts": {
"publish": "lerna publish --force-publish",
"build": "lerna run build",
@ -26,5 +25,20 @@
"typescript": "^5.4.5",
"winston": "^3.13.0"
},
"type": "module"
"private": true,
"type": "module",
"license": "SEE INDIVIDUALLY FOR EACH PACKAGE",
"author": "Entity Seven Group",
"contributors": [
{
"name": "Danya H",
"email": "dev.rilaxik@gmail.com",
"url": "https://github.com/rilaxik/"
},
{
"name": "Oleksandr Honcharov",
"email": "0976053529@ukr.net",
"url": "https://github.com/SashaGoncharov19/"
}
]
}

View File

@ -1,13 +1,16 @@
{
"name": "@entityseven/rage-fw-rpc",
"description": "Rage FW RPC",
"version": "0.2.5",
"main": "dist/index.js",
"types": "dist/src/index.d.ts",
"scripts": {
"build": "tsup",
"start": "npx ./dist create"
},
"files": [
"dist/**/*"
"dist/**/*",
"readme.md",
"LICENSE"
],
"devDependencies": {
"@microsoft/api-extractor": "^7.47.9",
@ -17,24 +20,23 @@
"peerDependencies": {
"typescript": "^5"
},
"description": "Rage-FW RPC (Remote procedure caller) for Rage:MP",
"keywords": [
"ragefw",
"rage-fw",
"ragemp",
"rage",
"rpc",
"rage-rpc",
"ragerpc"
"ragerpc",
"gta5"
],
"main": "dist/index.js",
"types": "dist/src/index.d.ts",
"author": {
"name": "rilaxik",
"email": "dev.rilaxik@gmail.com",
"url": "https://github.com/rilaxik"
},
"author": "Entity Seven Group",
"contributors": [
{
"name": "SashaGoncharov19",
"url": "https://github.com/SashaGoncharov19"
"name": "Danya H",
"email": "dev.rilaxik@gmail.com",
"url": "https://github.com/rilaxik/"
}
],
"license": "MIT",

View File

@ -3,13 +3,13 @@ is an all-in package with asynchronous RPC implementation for RageMP servers in
# Installation
``` shell
npm i rage-fw-rpc
npm i @entityseven/rage-fw-rpc
```
```shell
pnpm i rage-fw-rpc
pnpm i @entityseven/rage-fw-rpc
```
```shell
yarn add rage-fw-rpc
yarn add @entityseven/rage-fw-rpc
```
Import installed package and initialize rpc:

15
server/LICENSE Normal file
View File

@ -0,0 +1,15 @@
Custom Attribution-NoDerivs Software License
Copyright (c) 2024 Entity Seven Group
This license allows you to use, copy, and distribute the RageFW (the "Software"), including for commercial purposes, provided that the following conditions are met:
1. **Attribution:** You must give appropriate credit to the original author of the Software, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
2. **No Derivative Works:** You may not modify, transform, or build upon the Software.
3. **Usage and Commercial Use:** You are allowed to use, sell, and gain income from projects that utilize the Software, as long as you comply with the terms of this license.
4. **No Additional Restrictions:** You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -5,28 +5,34 @@
"types": "dist/src/index.d.ts",
"files": [
"dist/**/*",
"readme.md"
"readme.md",
"LICENSE"
],
"scripts": {
"build": "tsup"
},
"dependencies": {
"@entityseven/rage-fw-rpc": "latest"
"@entityseven/rage-fw-rpc": "0.2.5"
},
"peerDependencies": {
"@entityseven/rage-fw-shared-types": "workspace:^",
"@entityseven/rage-fw-shared-types": "0.2.0",
"@ragempcommunity/types-server": "^2.1.8"
},
"description": "RageFW Server side",
"keywords": [],
"author": "SashaGoncharov19",
"description": "Package used on a server-side of your Rage:MP Server",
"keywords": ["rage-fw-server", "ragefw", "rage-fw", "ragemp", "rage:mp", "rage", "gta5"],
"author": "Entity Seven Group",
"contributors": [
{
"name": "rilaxik",
"name": "Danya H",
"email": "dev.rilaxik@gmail.com",
"url": "https://github.com/rilaxik"
"url": "https://github.com/rilaxik/"
},
{
"name": "Oleksandr Honcharov",
"email": "0976053529@ukr.net",
"url": "https://github.com/SashaGoncharov19/"
}
],
"license": "MIT",
"license": "Custom-Attribution-NoDerivs",
"gitHead": "ffd542c1deddb3033e16e0dae7557313ae09b05f"
}

View File

@ -1,2 +1,2 @@
# RageFW Server
[Read docs for details](https://git.entityseven.com/entityseven/rage-framework/wiki/Docs)
[Read docs for details](https://git.entityseven.com/entityseven/rage-framework/wiki)

13
shared-types/LICENSE Normal file
View File

@ -0,0 +1,13 @@
# Custom Attribution-NoDerivs Software License
This license allows you to use, copy, and distribute the RageFW (the "Software"), including for commercial purposes, provided that the following conditions are met:
1. **Attribution:** You must give appropriate credit to the original author of the Software, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
2. **No Derivative Works:** You may not modify, transform, or build upon the Software.
3. **Usage and Commercial Use:** You are allowed to use, sell, and gain income from projects that utilize the Software, as long as you comply with the terms of this license.
4. **No Additional Restrictions:** You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -3,10 +3,26 @@
"version": "0.2.0",
"types": "types/types/index.d.ts",
"files": [
"types/**/*"
"types/**/*",
"readme.md",
"LICENSE"
],
"author": "SashaGoncharov19",
"license": "MIT",
"description": "Package used among all environments of your Rage-FW based server",
"keywords": ["rage-fw-shared-types", "rage-fw-shared","ragefw", "rage-fw", "ragemp", "rage:mp", "rage", "gta5"],
"type": "module",
"author": "Entity Seven Group",
"contributors": [
{
"name": "Danya H",
"email": "dev.rilaxik@gmail.com",
"url": "https://github.com/rilaxik/"
},
{
"name": "Oleksandr Honcharov",
"email": "0976053529@ukr.net",
"url": "https://github.com/SashaGoncharov19/"
}
],
"license": "Custom-Attribution-NoDerivs",
"gitHead": "ffd542c1deddb3033e16e0dae7557313ae09b05f"
}

View File

@ -1,2 +1,2 @@
# RageFW Shared types
[Read docs for details](https://git.entityseven.com/entityseven/rage-framework/wiki/Docs)
[Read docs for details](https://git.entityseven.com/entityseven/rage-framework/wiki)