Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    grenipublic

    greni npm version

    A batteries-included way to quickly build modern, fast, single-page applications

    Introduction

    Greni is the Icelandic word for the den of a fox. It is also a build tool that intelligently concatenates a pipeline of the following tools:

    greni is cunning, and avoids rebuilding your svelte component files unless they have changed or the build configuration (i.e. debug vs production) has changed.

    Usage

    Create a greni.json file, and populate it with contents such as the following:

    {
        "components": ["src/components/Card.html", "src/components/App.html"],
        "entryPoints": {"index.js": "src/index.js"},
    }
    

    You can also put this in your package.json under the greniConfig key:

    {
        "greniConfig": {
            "output": "output/",
            "components": ["src/components/Card.html", "src/components/App.html"],
            "entryPoints": {"index.js": "src/index.js"}
        }
    }
    

    Run greni or greni --debug to build the following artifacts:

    • output/index.js
    • output/index.js.map

    To automatically rebuild when your source files change, use the entr utility:

    while true; do find src/ -type f | entr -d greni || break; done
    

    Configuration Reference

    You can configure greni via either a greni.json file, or package.json using the greniConfig key.

    The possible keys in this object are shown below:

    Key Value
    components An array of svelte component paths. Defaults to [].
    entryPoints An object mapping outputName -> entrySourceFile.
    output A path. Defaults to output/.
    buble An object defining buble options. Defaults to null, meaning buble is not run.
    eslint A boolean. Defaults to true.

    Future Plans

    greni may someday become the central tool for building Vixeno apps, and house a repository of common components.

    Keywords

    install

    npm i greni

    Downloadslast 7 days

    1

    version

    0.5.5

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar