npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

maf-cli

v1.8.0

Published

MAF SDK Command Line Interface

Downloads

15

Readme

📺 MAF SDK Command Line Interface

Development automation for your MAF3 App projects

Commitizen friendly FOSSA Status

NPM

📖 Contents

💾 Install

$ npm i -g maf-cli
$ npm i -D maf-cli Metrological/maf3-sdk
$ touch .mafrc.js
$ maf init
$ maf --tasks

After running maf init all requirements will be created, installed and scaffolded based on the answers you provide. Some tasks have a dependency on a Metrological Dashboard API key. You can get one here.

To use this module with an already existing app, simply move that app out of the MAF3 SDK folder into it's own and run maf init on it.

As a shorthand you could run curl -L git.io/maf-cli | bash from within your project folder. And then run maf init.

Moving from maf3-sdk to maf-cli

If you are accustomed to working with the maf3-sdk then working with the maf-cli should be transparent. A lot of things are now handled for you. You can now depend your project on the maf-cli vs. running your app within the maf3-sdk. All apps from the maf3-sdk are included. As well as any dependencies. Your index.html file is no longer required. Any configuration you might have in there can be copied over to your maffile (.mafrc.js). Declaring your app, categories and ui is no longer required.

⚙️ Configuration

You can configure the MAF CLI via your .mafrc.js file. It has the following (default) options available:

{
  language: `nl` // set the default language of the Store and App
, es6: true // when true all your code will be transpiled (via the Closure Compiler) to ES5 before running and publishing
, autostart: false // when true auto-starts your app when browsing to https://localhost:8443
, store: `YOUR/STORE/ID_HERE` // use this when running the store task for example: metrological/nl/external
}

Additionally, you are able to define your own tasks within your maffile.

const maf = require( 'maf-cli' )

module.exports = {
  language: `nl`
, function hello() {
    console.log( `world` )
  }
}

This can be used to integrate any other tools you might use, or preprocess certain files.

You may also set some environment variables:

LANG=en_US.utf8 # for compatibility reasons, remove if this causes issues for you
TERM=xterm-256color # for compatibility reasons, remove if this causes issues for you
NODE_ENV=production # let's make sure we are equal to production as much as possible
NODE_PORT=8080 # change to your liking
NODE_SECURE_PORT=8443 # change to your liking
DOCS_PORT=9090 # change to your liking
METROLOGICAL_API_KEY="YOUR_API_KEY_HERE" # this is used for publishing your App

▶️ Usage

$ maf

The default task (run) will run and starts the SDK Server.

To run individual tasks, use maf <task>.

To display the list of build-in tasks, use maf --tasks

For an overview of available options and commands, use maf --help

⌨️ MAF key combinations:

| Command | Key | | --- | --- | | stop | Shift + Down | | play/pause | Shift + Up | | rewind | Shift + Left | | forward | Shift + Right | | back | Backspace | | red | F1 | | green | F2 | | yellow | F3 | | blue | F4 | | channel up | PageUp | | channel down | PageDown |

❌ Issue Submission

Please use GitHub Issues for issue submission.

Known Issues

The build-in proxy service uses xml2json which uses node-expat. On Windows this requires some extra work setting up. Please refer to it's documentation.

✅ Feature requests

Feature requests can be submitted via Issues as well.

Contribute

Feel free to send in any pull requests.

About

The idea for this module came from the desire to take the development of MAF3 apps into the 21st century. To allow for anyone to focus on building the app and less on managing releases and configuring the runtime environment. This module allows for your project to easily depend on the MAF3-SDK and make CI and CD more simple to handle. This is the first iteration of many more to come.

🛠 MAF3-SDK

You can learn more about the MAF3-SDK at it's website, or on GitHub.

For any questions regarding App developement please use the Metrological Helpdesk.

©️ License

MIT

FOSSA Status