atma-io-middleware-condcomments

1.2.8 • Public • Published

Conditional comments file middleware for Atma.IO and Atma.Toolkit. Supports JavaScript and HTML comments.

The Plugin provides a custom middleware to exclude/include conditional comments:

How to use
Extend files

There are 2 strategies: to comment and to uncomment. You should use to comment strategy for default block, so that a file is valid even without a condcomment middleware.

  • Uncomment on TRUE expressions

    /*#if (EXPRESSION)
        content body
    */
  • Comment on FALSE expressions

    //#if (EXPRESSION)
    content body
    //#endif
Expressions

Expressions are usual javascript expressions. The values for variables are taken from a) ENV and b) process argv c) middleware settings.

Embed into the project
  • Atma Toolkit

    $ atma plugin install atma-io-middleware-condcomments --save-dev

    This adds atma-io-middleware-condcomments npm dependency and the package.json would look like:

        {
            "devDependencies": {
                "atma-io-middleware-condcomments"
            },
            "atma": {
                "plugins": [
                    "atma-io-middleware-condcomments"
                ],
                "settings": {
    				"atma-io-middleware-condcomments": {
                        "defines": {
                            "DEBUG": true
                        }
                    },
                    "io": {
                        "extensions": {
                            "ts": [
                                "atma-io-middleware-condcomments:read",
                                "atma-loader-ts:read"
                            ]
                        }
                    }
    
                }
            }
        }
  • App Bundler

    $ npm i atma-io-middleware-condcomments --save-dev

    Extend AppBundler config with IO settings, for example in package.json for typescript extensions.

    {
        /* ... any package json settings */
        "app-bundler": {
            /* ... any app-bundler settings */
            "middlewares": {                
                "ts": [
                    "atma-io-middleware-condcomments:read",
                    "atma-loader-ts:read"
                ]
            }
        },
    }
  • Run

    • Atma Toolkit Dev Server

      $ atma server
    • App Bundler Just run app bundler commands as usual


The MIT License

Readme

Keywords

none

Package Sidebar

Install

npm i atma-io-middleware-condcomments

Weekly Downloads

0

Version

1.2.8

License

MIT

Unpacked Size

45.6 kB

Total Files

3

Last publish

Collaborators

  • tenbits