iwa-cli
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

iwa-cli

IWA

An ImmutableWebApp CLI using oclif and cosmiconfig

oclif Version Downloads/week License

Installation

yarn add --dev iwa-cli

npm install --save-dev iwa-cli

Usage

Generate

  1. Create a .iwarc file in the root of your project. The format of this file should look like this.
{
  "env": {
    "all" : {
      "COMMON_ATTRIBUTE": "DEFAULT_VALUE", 
    },
    "production": {
      "KEY": "VALUE_PRODUCTION"
    },
    "development": {
      "KEY": "VALUE_DEVELOPMENT",
      "COMMON_ATTRIBUTE": "DEVELOPMENT_SPESIFIC_VALUE", 
    }
  }
}
  • The all and production environment cannot be omitted!
  • Specify as many environments as you need! In this case we have 2 (one for production and one for development)
  1. Create a script tag with id="iwa" in your index.html or template.index.html
<!DOCTYPE html>
<html lang="en">
  <head></head>
  <body>
    <div id="menu"></div>
    <main id="root"></main>
    <div id="footer"></div>

    <script id="iwa"></script> <!-- This line here is the one -->
  </body>
</html>
  • Make sure you don't have anything it, because it will get erased!
  • Make sure it is placed before all you bundles!
  1. Run the generate command
iwa generate --env=production ./example/index.html  # or the location where the file is located

The command will inject the configuration in the script tag:

<!DOCTYPE html>
<html lang="en">
  <head></head>
  <body>
    <div id="menu"></div>
    <main id="root"></main>
    <div id="footer"></div>
    <script id="iwa">window.env = {"COMMON_ATTRIBUTE": "DEFAULT_VALUE", "KEY":"VALUE_PRODUCTION"}</script>
  </body>
</html>

Override

You can override a variable with process.env variables:

KEY="VALUE_PROCESS" iwa generate ./example/index.html

Remove

You can also erase the configuration from a file, by using the remove command

iwa remove ./example/index.html

Commands

iwa check [INPUT]

Checks HTML file for injected iwa config, useful in a pre-commit hook to prevent commiting injected iwa-config.

USAGE
  $ iwa check [INPUT]

OPTIONS
  -d, --verbose
  -h, --help      show CLI help
  -s, --isStaged  Checks only staged files, and will throw error if config found
  -v, --version   show CLI version

ALIASES
  $ iwa check
  $ iwa c

See code: src/commands/check.ts

iwa generate [INPUT] [OUTPUT]

Generates a HTML file, where window.env configuration is injected

USAGE
  $ iwa generate [INPUT] [OUTPUT]

OPTIONS
  -c, --config=config  Location to look for iwa configuration
  -d, --verbose
  -e, --env=env        [default: production]
  -h, --help           show CLI help
  -v, --version        show CLI version

ALIASES
  $ iwa gen
  $ iwa g

See code: src/commands/generate.ts

iwa remove [INPUT]

Removes injected configuration from an HTML file

USAGE
  $ iwa remove [INPUT]

OPTIONS
  -h, --help     show CLI help
  -v, --version  show CLI version

ALIASES
  $ iwa rm

See code: src/commands/remove.ts

Package Sidebar

Install

npm i iwa-cli

Weekly Downloads

275

Version

1.1.0

License

MIT

Unpacked Size

18.6 kB

Total Files

15

Last publish

Collaborators

  • chrispcode
  • snils