Giter VIP home page Giter VIP logo

foundryvtt-cli's Introduction

foundryvtt-cli

The official Foundry VTT CLI

Installation

npm install -g @foundryvtt/foundryvtt-cli

Usage

Help

fvtt --help

Current CLI Version

fvtt --version

Configuration

fvtt configure

Determines if your configuration is correct and if not, prompts you to fix it.

View

fvtt configure view

View your current configuration.

Set

fvtt configure set "key" "value"

Set a configuration value.

Get

fvtt configure get "key"

Get a configuration value.

Path

fvtt configure path

Outputs the path to your configuration file.

Launch

fvtt launch

Launches Foundry VTT. Available options are:

  • --demo - Launches Foundry VTT in demo mode.
  • --port 30000 - Launches Foundry VTT on a specific port.
  • --world my-world - Launches Foundry VTT straight into a specific world.
  • --noupnp - Disable UPnP port forwarding.
  • --noupdate - Disable automatic update checking.
  • --adminKey "ABC123" - The admin key to secure Foundry VTT's Setup screen with.

Package

fvtt package

Output the current working package, if any.

Workon

fvtt package workon "1001-fish" --type "Module"

Swaps to working on a specific package, eliminating the need to pass --type and --id to other package commands.

Clear

fvtt package clear

Clears the current working package.

Unpack

fvtt package unpack "compendiumName"

Reads a database from the current Package /packs/ directory and writes each document as a serialized Object to its own file. There are a number of options available to customize the output, check out fvtt package unpack --help for more information.

Pack

fvtt package pack "compendiumName"

Reads a directory of serialized Objects and writes them to a database in the current Package /packs/ directory. There are a number of options available to customize the operation, check out fvtt package pack --help for more information.

Example Workflow

fvtt configure
fvtt package workon "1001-fish"
fvtt package unpack "fish"
. . . // Make some updates to the files
fvtt package pack "fish"

Development

git clone
cd foundryvtt-cli
npm install
npm run build
npm link

API

Certain internal functionality of the CLI is exposed as an API that can be imported into other projects.

Example Usage

import { compilePack, extractPack } from "@foundryvtt/foundryvtt-cli";

// Extract a NeDB compendium pack.
await extractpack("mymodule/packs/actors.db", "mymodule/packs/src/actors", { nedb: true });

// Compile a LevelDB compendium pack.
await compilePack("mymodule/packs/src/actors", "mymodule/packs/actors");

compilePack(src: string, dest: string, options?: object): Promise<void>

Compile source files into a compendium pack.

Parameters

  • src: string The directory containing the source files.
  • dest: string The target compendium pack.
  • options: object
    • nedb: boolean = false Whether to operate on a NeDB database, otherwise a LevelDB database is assumed.
    • yaml: boolean = false Whether the source files in YAML format, otherwise JSON is assumed.
    • log: boolean = false Whether to log operation progress to the console.
    • recursive: boolean = false Whether to recurse into child directories under src, otherwise only source files located directly under src will be used.
    • transformEntry: (entry: object): Promise<false|void> A function that is called on every entry. Returning false indicates that the entry should be discarded.

extractPack(src: string, dest: string, options?: object): Promise<void>

Extract the contents of a compendium pack into individual source files for each primary Document.

Parameters

  • src: string The source compendium pack.
  • dest: string The directory to write the extracted files into.
  • options: object
    • nedb: boolean = false Whether to operate on a NeDB database, otherwise a LevelDB database is assumed.
    • yaml: boolean = false Whether the source files in YAML format, otherwise JSON is assumed.
    • yamlOptions object = {} Options to pass to yaml.dump.
    • log: boolean = false Whether to log operation progress to the console.
    • documentType: string For NeDB operations, a documentType must be provided. This should be the same as the pack's type field in the module.json or system.json.
    • transformEntry: (entry: object): Promise<false|void> A function that is called on every entry. Returning false indicates that the entry should be discarded.
    • transformName: (entry: object): Promise<string|void> A function that is called on every entry. The value returned from this will be used as the entry's filename. If nothing is returned, an auto-generated name will be used instead.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

foundryvtt-cli's People

Contributors

cswendrowski avatar drental avatar fyorl avatar dj4ddi avatar ryanwalder avatar amediocredad avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.