npm package: @saleae/page-services-library
Description: module for generating, and subsequently deploying, the Page Services Library and it's supplying server
Author: Oz Haven
Latest version: 1.4.0

# page-services-library
An npm module for generating, and subsequently deploying, the Page Services Library and it's supplying server

```
npm i -g @saleae/page-services-library
```

```
saleae-page-services [command]

Commands:
  saleae-page-services deploy-server  deploy the page services server
  saleae-page-services build-scripts  build the various scripts for deployment

Options:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]
```

```
saleae-page-services build-scripts

build the various scripts for deployment

Options:
  --help          Show help                                            [boolean]
  --version       Show version number                                  [boolean]
  -c, --config    the configuration file to import
  -o, --output    the parent folder for build output (automatically appends
                  "/static" to end)
  -f, --filename  the filename for build output
  -s, --stdout    output file contents to stdout rather than file
  --verbose, -V                                                 [default: false]
```

```
saleae-page-services deploy-server

deploy the page services server

Options:
  --help         Show help                                             [boolean]
  --version      Show version number                                   [boolean]
  -c, --config   the configuration file to import
  -o, --output   the parent folder for build output (automatically appends
                 "/static" to end)
  -t, --token    the zeit token for upload
  -m, --team     the zeit team to upload under
  -n, --name     name of the deployment
  -a, --alias    alias of the deployment
  -e, --env      json string of environment variables for inclusion
  --verbose, -V                                                 [default: false]
```

```
saleae-page-services build-static-server [options]

build a static server based off the files in the current working directory

Options:
  --help         Show help                                   [boolean]
  --version      Show version number                         [boolean]
  -o, --output   the parent folder for build output (automatically
                 appends "/static" to end for static files)
  -e, --env      the path of an env file to copy to the server root
  --verbose, -V                                       [default: false]

Example command:

saleae-page-services build-static-server --output ./build --env env.js --verbose

Example env.js:

module.exports = { // this is built at deploy-time
  ENABLE_CORS: 'true', // never pass non-strings into env variables, the deploy will fail
  SERVER_HEADERS: JSON.stringify({ // same as above, always make sure to stringify nested JSON
    "x-foo": process.env.EDITOR
  }),
  SERVER_REDIRECTS_PERMANENT: JSON.stringify({
    "/test":"/style"
  }),
  SERVER_REDIRECTS_TEMPORARY: JSON.stringify({
    "/test2":"/logo.png"
  }),
  STATIC_EXTENSIONS: JSON.stringify(["html","css"]),
  STATIC_INDEX: "index.html",
  SERVICE_NAME: "theforgeproject",
  DATADOG_API_KEY: process.env.DATADOG_API_KEY, // these are env vars in the build environment (e.g. circleci)
  LOGDNA_API_KEY: process.env.LOGDNA_API_KEY,
}
```

```
saleae-page-services deploy-generic-service [options]

deploy the current working directory as a now service

Options:
  --help         Show help                                   [boolean]
  --version      Show version number                         [boolean]
  -t, --token    the zeit token for upload
  -m, --team     the zeit team to upload under
  -n, --name     name of the deployment                     [required]
  -a, --alias    alias of the deployment                    [required]
  -e, --env      either the path to an env file (e.g. env.js), or an environment
                 variable to pass into deployment (duplicates allowed)
  --verbose, -V                                       [default: false]

example commands:
saleae-page-services deploy-generic-service --name saleae-static-test --alias saleae-static-test -e env.js --verbose
saleae-page-services deploy-generic-service --name saleae-docs-page-services --alias docs.page-services.saleae.com -d STATIC --verbose
saleae-page-services deploy-generic-service --verbose --name saleae-api --alias staging.api.saleae.com --env DATADOG_API_KEY --env LOGDNA_API_KEY
```