Notable Pseudocode Mashups

    mpack

    1.0.1 • Public • Published

    This is a tool to enable implementors to customise and package the settings to App Packs that can be deployed to an M4 database.

    App Pack (or Data Pack)

    To install, npm i -g mpack

    Creating New Pack

    Ensure git environment is setup as the mpack tool will automatically setup a new git repo.

    1. Create a new directory
    2. run mpack new and answer the questions
    3. Add your files, refer to best practices
    4. run mpack upload when you're done
    5. Test the package in a M4 database
    6. When all working and final, run mpack release

    Update Existing Pack

    1. Make changes to the files or add new ones
    2. Review package.json for dependencies
    3. run mpack upload when you're done
    4. Test the package in a M4 database
    5. When all working and final, run mpack release

    All Commands

    Registry Commands

    • mpack login
    • mpack logout
    • mpack upload
    • mpack release

    Once a pack is released, it cannot be undo.

    Pack Commands

    • mpack new
    • mpack config
    • mpack deps
    • mpack extract
    • mpack make

    Pack versioning

    Minor and patch versions are auto updated.

    Major versions usually indicates breaking-change which require manual updates.

    Content of Packs

    Pack files usually comes in a pair: pack@1.0.1.tgz and pack@1.0.1.patch.tgz (only applies to patch versions).

    The versions here refer to semantic versioning (semver), which follow the same rules in NPM modules.

    A Pack is a tar gzip file which contains the following minimum:

    • package.json
    • files

    Structure of package.json

    {
        "name": "PackName",
        "version": "1.0.0",
        "description": '',
        "deps": {
            "pack": "version"
        },
        "path": "", // for pack development use, registry ignores this
        "requires": {
            "server": "version",
            "web": "version"
        },
        "perms": [],  // custom permissions for pack
        "mpack": "mpack version"
    }

    Notes

    1. Packs with minor and patch versions will be auto-updated
    2. Minor version bump do not have patch file, use minor to force full override (be careful)
    3. Packs with major version will need manual updates
    4. Major versions usually for major version of server
    5. Add / edit the dependencies deps and requirements requires to control the behavior of the packs

    TODO

    • upload single pack to server
    • server to verify deps
    • server to return latest versions of packs
    • mpack to add / update deps in package.json

    Keywords

    none

    Install

    npm i mpack

    DownloadsWeekly Downloads

    80

    Version

    1.0.1

    License

    GPL-2.0-only

    Unpacked Size

    44.6 kB

    Total Files

    7

    Last publish

    Collaborators

    • davistan