Natural Pleistocene Monsters

    @nginstack/build-tools

    63.0.28 • Public • Published

    Build Tools

    Auxiliary tools used for build JAZ packages on nginstack platform.

    Install

    Prerequisites

    Installation

    1. Install @nginstack/build-tools using npm (or yarn):

      yarn install @nginstack/build-tools

    Configuration

    Build tools scripts requires a configuration about the target database that will run the tests and receive the build artifacts. The configuration can be informed by environment variables or by a .env config file placed at repository root.

    The build API and scripts will search custom jaz archives automatically at directory build/ and they will use directory .engine as Engine work directory. It´s recommended to ignore this directory in .gitignore to avoid to commit Engine large temporary files like logs and database local caches.

    Configure defining the environment variables:

    • ENGINE_URL: engine server URL. Example: http://my\_database.nginstack.com.
    • ENGINE_DATABASE: database name. Example: MY_DATABASE.
    • ENGINE_USERNAME: user name used to upload artifacts and run tests.
    • ENGINE_PASSWORD: user password used to upload artifacts and run tests.

    Or use a .env file:

    ENGINE_URL=http://my_database.nginstack.com
    ENGINE_DATABASE=MY_DATABASE
    ENGINE_USERNAME=username
    ENGINE_PASSWORD=password
    

    Build and utilities scripts

    uploadToVfs

    Upload one or more build artifacts to Engine Virtual File System.

    Usage:

    uploadToVfs PATH_1 FILE_KEY_1 PATH_2 FILE_KEY_2 ... PATH_N FILE_KEY_N

    runTests

    Run server testes on Engine and save the results to a file using the JUnit tests XML report file format. If the report path was not informed it will use "build/server-tests.xml".

    Usage:

    runTests.js TESTS_PATHS [OUT_REPORT_PATH] 

    Experimental: inform the parameter -v8 to run tests using the V8 as default JavaScript runtime.

    runTests.js TESTS_PATHS [OUT_REPORT_PATH] -v8

    installJazDependencies

    Read the array property jazDependencies of package.json and download the informed JAZ packages of the server informed by the environment variable SERVER_URL. The downloaded JAZ packages are extracted in node_modules.

    Is recommended to use installJazDependencies as a postinstall script of package.json.

    Usage:

    installJazDependencies

    packJaz

    Build a JAZ file using a config file informed as argument. Config example:

    {
      "dest": "build/my-package.jaz",
      "files": [
        "package.json", "lib/**", "routes/**", "controllers/**", "keys/**", "tests/**",
        "publicModules.js", "scripts/**", "startups/**"
      ],
      "ignore": [
          "lib/localConfig.js"
      ],
      "minifier": {
        "files": [
          "lib/**"
        ]
      },
      "e2c": [
        {
          "metadata": {
            "license": {
              "product": -1898148465
            }
          },
          "files": [
            "lib/protected-api/**"
          ]
        }
      ]  
    }
    

    Use the minifier option to minify and to obfuscate the files of the JAZ Package and the e2c option to encrypt files using the Engine E2C file format. Both features are experimental and not were officially released as supported product features.

    Usage:

    packJaz jaz.config.json

    Keywords

    none

    Install

    npm i @nginstack/build-tools

    DownloadsWeekly Downloads

    196

    Version

    63.0.28

    License

    none

    Unpacked Size

    21 kB

    Total Files

    8

    Last publish

    Collaborators

    • dyad-tecnologia
    • paulocmoreno
    • salutis-tecnologia