Skip to content

A bundler of all MicroCODE's "mcode-*" packages. This allows all our packages to be used thru one const 'mcode.*' for simplicity and consistency.

License

Notifications You must be signed in to change notification settings

MicroCODEIncorporated/mcode-package

Repository files navigation

MicroCODE's 'mcode-package' collection

A public NPM Packaging of our internal app construction packages: mcode-log, mcode-list, etc.

These are an extremely 'light weight' packages with zero dependencies that can be collected together into a single namespace called 'mcode.' for invocation.

These utilities are identical on both...

  • Frontend - Browser Client side
  • Backend - Node Server side

Description

This is our internal app construction code. These are the tools we use continuously to build robust '24x7x365'code. The current packages bundled by this are:

  • mcode-log - provides an consistent set of functions for logging events into any console, with severity.
  • mcode-list - provides an consistent set of function for handling list processing chores.

Dependencies

  • Production
  1. None
  2. mcode-log (optional)
  3. mcode-list (optional)
  • Development
  1. Node.JS - standard runtime environment
  2. JSDocs - our preferred JavaScript documentation system
  3. Jest.JS - our preferred JavaScript testing framework

Installing

Use "npm install" to install the 'bundler' and then all required MicroCODE packages.

  • Get to a terminal session in the local repo folder of your project.
  • Use 'npm install' to load the package(s)...
npm install mcode-package
npm install mcode-log
npm install mcode-list
...

mcode-package (NPM 'Bundling')

This is a console log to demonstrate how the mcode.log and mcode-list NPM packages are brought together under a single 'mcode' object...

  • This shows 'mcode' as logged by its own function 'mcode.debug()'...

  • Notice how the functions from 'mcode-log' and 'mcode-list' are all present under 'mcode.*' as if they came from a single NPM package, e.g.: swap() and list() are from 'mcode-list' and the reset are from 'mcode-log'...

Testing

This package includes a simple test/demog module: index.test.js. running it direclty will show you all the 'log' and 'exp' formatting that occurs into the console and the recursive destruction of objects when they are logged.

  • From your project directory...
node .\node_modules\mcode-log\examples

...you should see the 'severities' example shown earlier in this README.

  • To test with JEST:
  • From the mcode-log package directory...
npm install --save-dev jest
npm test
  • A view of the JEST tests (for 'mcode-log') in the console...

Available Packages

These are the functions we want at the ready in any module for development and debug.

Function Description Usage
mcode-log A collection of event logging functions and utilities mcode.log(), mcode.warn(), mcode.exp(), etc.
mcode-list A collection of list processing fucntions and utilities mcode.swap(), mcode.call(), mcode.add(), etc.

Documentation

We believe is explicit code documentation, for other users, and for our 'future selves'.
JSDocs is a standardized system for documenting functions and data structures that produces three (3) primary outputs:

  1. Inline documentation for the coder.
  2. Intellisense popup documentation for the coder for every function.
  3. External 'reference manual' documentation for your entire code base, if used consistently.
  • This entire project--like all our projects--is documented with JSDocs.

  • To install JSDocs use, get to a terminal session in the project folder...

npm install --save-dev jsdoc
  • Configure JSDoc processing in...
jsdoc.json
  • To regenerate the JSDocs from all source code, use the following command (from the project root directory)...
jsdoc -c .jsdoc.json

...then open ./docs/index.html

Help

Contact Timothy McGuire, support@mcode.com.

Terminology

Word or Acronym Description/Definition
NPM Node Package Manager, actually “Node PM”, “Node pkgmakeinst” a system to deploy, install, and maintain NodeJS Apps. (PM was a BASH utility).
NVM Node Version Manager, a tool that supports changing NodeJS versions.
MERN MongoDB, Express, React, Node JS.
MongoDB A ‘NoSQL’ database designed for Cloud applications, also referred to as a ‘Document Store’.
Express Express is not a database but rather an ‘extensible routing language’ for communication between a Client and a Server.
React A Web UI development system, a JavaScript library developed by Facebook and made public—and Open Source—since 2013.
Node JS A development stack that executes from a local file store—on a local Server—instead of from a network of servers.
JSDocs A toolset to automatically generate API-style documentation from source code tagging.

Authors

Contributor's names and contact info...

  • Timothy McGuire @TimothyMcGuire - Founder, President-CEO of MicroCODE, Inc. a software and controls engineering company in Detroit, Michigan USA.

Version History

  • 0.4.0
    • Synchronized mcode-data, mcode-log, mcode-list, mcode-package.
  • 0.3.8
    • Moved all data handling functions into new mcode-data package.
  • 0.3.0
    • Upgrade 'mcode-log' to v0.3.0
    • Upgrade 'mcode-list' to v0.3.0
  • 0.2.6
    • Upgrade 'mcode-log' to v0.2.6
  • 0.2.5
    • Upgrade 'mcode-log' to v0.2.5
  • 0.2.4
    • Upgrade 'mcode-log' to v0.2.4
  • 0.2.2
    • Upgrade 'mcode-log' to v0.2.2
  • 0.2.1
    • Upgrade 'mcode-log' to v0.2.1
  • 0.2.0
    • Upgrade 'mcode-log' to v0.2.0, sync'ed package versions to v0.2.0
  • 0.1.11
    • upgraded to 'mcode-log' v0.1.18
  • 0.1.10
    • upgraded to 'mcode-log' v0.1.17
  • 0.1.9
    • upgraded to 'mcode-log' v0.1.16
  • 0.1.8
    • Added the display of sub-package versions on load.
  • 0.1.7
    • Improved README examples, corrected typos.
  • 0.1.6
    • Changed export to the Univeral Module Defintion (UMD) pattern.
  • 0.1.0 * 0.1.5
    • Rewrote code to load all functions and elements from an included mcode-* package into 'mcode.*'.
    • Removed the need to update this package with explicit references when features are added to a bundled package.
  • 0.0.8
    • Upgraded to 'mcode-log' v0.1.8
  • 0.0.6 * 0.0.7
    • Updated README with pictures illustrating how 'mcode-package' brings togther other MicroCODE packages under 'mcode.*'.
  • 0.0.5
    • Upgraded to 'mcode-log' v0.1.5
  • 0.0.3 * 0.0.4
    • Corrected JSDocs and Jest to DEV ONLY dependencies
  • 0.0.2
    • Published to NPM
  • 0.0.1
    • Initial movement of our internal code into an NPM bundled packages for ease of use in other projects.

Future Development

  • 0.0.*
    • Any additional core code we development for general JavaScript MERN coding, debug, and support.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

MicroCODE Mantra

MicroCODE, Inc. was founded in 1987 as a controls engineering and software development company.
We specialize in manufacturing and quality control applications that must run 24x7x365 for years at a time.

Our slogan, distilled from over three decades of developing, testing, installing, and supporting 24x7x365 manufacturing applications, is..

About

A bundler of all MicroCODE's "mcode-*" packages. This allows all our packages to be used thru one const 'mcode.*' for simplicity and consistency.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published