eso-manifest
Version:
Generate a manifest for an Elder Scrolls Online addon.
73 lines (70 loc) • 2.67 kB
Markdown
# eso-manifest
## Generates a [manifest file](https://wiki.esoui.com/Addon_manifest_(.txt)_format) for Elder Scrolls Online.
## Available:
- [npm](https://www.npmjs.com/package/eso-manifest) - Latest stable
- [git](https://provinatus.visualstudio.com/MikesNodeModules/_git/eso-manifest) - Sources and deployment
- [esoui](https://www.esoui.com/downloads/info2283-eso-manifest.html) - Sources published for visibility.
### Install
- `npm install -g eso-manifest`
### Command Line
1. Save configuration to `example-config.txt`
```
{
"Title": "Addon Name",
"APIVersion": "100026",
"AddOnVersion": 1,
"Description": "Text description of the addon",
"Author": "ME!",
"SavedVariables": "SavedVars1 SavedVars2",
"DependsOn": "DependencyA DependencyB",
"OptionalDependsOn": "DependencyC DependencyD",
"Files": [
"lang/$(language).lua",
"addOnFile.lua",
"file.xml"
]
}
```
1. From a terminal run:
- `eso-manifest --manifestFileName=addon.txt --inputJSONFileName=example-config.json`
- Output to `addon.txt`:
```
# Manifest generated using eso-manifest. https://www.npmjs.com/package/eso-manifest
## Title: Addon Name
## APIVersion: 100026
## AddOnVersion: 1
## Author: ME!
## Description: Text description of the addon
## SavedVariables: SavedVars1 SavedVars2
## DependsOn: DependencyA DependencyB
## OptionalDependsOn: DependencyC DependencyD
lang/$(language).lua
addOnFile.lua
file.xml
# This Add-on is not created by, affiliated with, or sponsored by, ZeniMax Media Inc. or its affiliates.
# The Elder Scrolls® and related logos are registered trademarks or trademarks of ZeniMax Media Inc. in the United States
# and/or other countries. All rights reserved.
```
### Node/JavaScript
```javascript
const esoManifest = require('eso-manifest');
const destinationFile = 'manifest.txt';
const manifest = {
Title: 'Addon Name',
APIVersion: '100026',
AddOnVersion: 1, // Optional
Description: 'Text description of the addon', // Optional
Author: 'ME!', // Optional
SavedVariables: 'SavedVars1 SavedVars2', // Optional
DependsOn: 'DependencyA DependencyB', // Optional
OptionalDependsOn: 'DependencyC DependencyD', // Optional
Files: [
// Ordered list of file dependencies
'lang/$(language).lua',
'addOnFile.lua',
'file.xml'
]
};
// Where the magic happens :)
esoManifest.generateManifest(destinationFile, manifest, true);
```