Skip to content

tenbits/atma-io-middleware-condcomments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published