This document describes the technical details of a Nyssa package.
The default layout for Nyssa package when generated by nyssa init
is as
follows:
.blade
: The default Blade pacakges directory which contains
installed packages and will only be available when at least one
or more package is installed.app
: The directory contains the main application/package code.examples
: Examples accompanying your package goes here and may
be shown to users under the Examples
section of the Nyssa website.index.b
: The default Blade package index file.README.md
: The README.md file will be contain the main documentation
for your package.NOTE: If your packages adheres to Blade standard multiline comment documentation format as shown in the Blade standard library documentation, your package documentation may be expanded to include such documentations.
nyssa.json
: The Nyssa package configuration script.tests
: This directory contains unit, integration and all types
of tests for your package.!Important
You can create a Nyssa package without having to run nyssa init
. Essentially,
the only files required are the index.b
and the nyssa.json
files and they
can be manually created without losing Nyssa's ability to install, uninstall
and configure packages.
nyssa.json
The nyssa.json
file is pretty intuitive and is very similar to NodeJS NPM
package.json files. A typical sample of a complete nyssa.json
file looks like this:
{
"name": "sample",
"version": "0.1.0",
"description": "An example package",
"homepage": "",
"tags": [
"tag1",
"tag2",
"tag3"
],
"author": "Package Author <someone@example.com>",
"license": "MIT",
"sources": [
"nyssa.bladelang.com"
],
"deps": {
"dependecny1": "1.0.0",
"dependecny2": "1.0.0",
"dependecny3": "1.0.0"
},
"post_install": "post-install-script.b",
"pre_uninstall": "pre-uninstall-script.b"
}