https://github.com/johron/pues
Initialize and manage projects easily with json blueprints
https://github.com/johron/pues
json lua luarocks project-manager
Last synced: about 1 month ago
JSON representation
Initialize and manage projects easily with json blueprints
- Host: GitHub
- URL: https://github.com/johron/pues
- Owner: johron
- License: gpl-3.0
- Created: 2024-08-19T19:16:53.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-14T10:16:25.000Z (over 1 year ago)
- Last Synced: 2025-03-02T15:56:49.322Z (over 1 year ago)
- Topics: json, lua, luarocks, project-manager
- Language: Lua
- Homepage: https://luarocks.org/modules/johron/pues
- Size: 136 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Pues
- Initialize and manage projects easily with json blueprints
## Install
- see [dependencies](#dependencies) before installation
```bash
luarocks install pues
pues --version
```
# Todo
- [ ] I de auto genererte readme-ene i pues blir kommandene skrevet som 'print' istedenfor print()
- [ ] Legg til melding i readme at dette er generert med pues og at for å bruke denne konfigurasjonen må en bruke pues
## Blueprint documentation
- `version`: The version this blueprint was made for
- `source`?: Name of zip archive located in '~/.config/pues/archives/' without extention
- `readme`?: If a readme should be included
- default = false
- `managed`?: If the project should be managed by pues
- default = true
- `build`?: Table of shell commands (This can have "%{arg}" in it to tunnel arguments into the pues command)
- `run`?: Table of shell commands (This can have "%{arg}" in it to tunnel arguments into the pues command)
- `marked`?: Files where '%{name}' should be replaced with project name
- `dependencies`?: Project dependencies
- Table with name as the package manager name
- `command`: The command to install with the package manager
- `packages`: Table with the packages to be installed
## Example Blueprint
```json
{
"version": "0.0.1",
"source": "example",
"readme": true,
"managed": true,
"build": [
"tsc src/main.ts"
],
"run": [
"ts-node src/main.ts %{arg}"
],
"marked": [
"package.json"
],
"dependencies": {
"npm": {
"command": "npm install",
"packages": [
"example@2.1.5",
"package"
]
},
"luarocks": {
"command": "luarocks install",
"packages": [
"module 1.2-3"
]
}
}
}
```
## Dependencies
- zzip.h, can be installed with 'apt install zziplib-dev', 'dnf install zziplib-devel'
- for rest see latest rockspec in [rockspecs](./rockspecs/), these are installed automatically when using luarocks
## Building with luarocks
```bash
luarocks make rockspecs/pues-.rockspec
```
## Testing
- Using the docker and the provided [Dockerfile](./Dockerfile) is recommended when testing
### With luarocks (recommended)
```bash
luarocks make rockspecs/pues-.rockspec
pues --version
```
### Without luarocks
```bash
lua pues/main.lua --version
```
## License
- This source code is subject to the terms of the GNU General Public License, version 3. [License](./LICENSE.md)