Em-Ant / iwa-cli

The CLI to empower your ImmutableWebApps projects

Home Page:https://www.npmjs.com/package/iwa-cli#usage

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 generate [INPUT] [OUTPUT]

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

USAGE
  $ iwa generate [INPUT] [OUTPUT]

OPTIONS
  -d, --verbose
  -e, --env=env  [default: production]
  -h, --help     show CLI help
  -v, --version  show CLI version
  --noFormat     Don't format the html file

ALIASES
  $ iwa gen
  $ iwa g

See code: src/commands/generate.ts

iwa remove [INPUT]

Removes injected configuration from a 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

About

The CLI to empower your ImmutableWebApps projects

https://www.npmjs.com/package/iwa-cli#usage


Languages

Language:TypeScript 91.9%Language:JavaScript 7.4%Language:Batchfile 0.7%