0.7.0 • Published 5 months ago

mcode-package v0.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

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-data - provides an consistent set of functions for data testing and conversion chores.
  • mcode-log - provides an consistent set of functions for logging events into any console, with severity and colorization.
  • mcode-list - provides an consistent set of functions for handling list processing chores.
  • mcode-cache - provides an simple, consistent set of functions for caching files, keys, or database records using Redis.

Dependencies

  • Production 1) None 2) mcode-data (optional) 3) mcode-log (optional) 4) mcode-list (optional) 5) mcode-cache (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-data
npm install mcode-log
npm install mcode-list
npm install mcode-cache
...

mcode-package (NPM 'Bundling')

This is a console log to demonstrate how the mcode.data, mcode.log, mcode.list and mcode-cache 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.

FunctionDescriptionUsage
mcode-dataA collection of data handling functions and utilitiesmcode.isObject(), mcode.listifyArray(), mcode.octify(), etc.
mcode-logA collection of event logging functions and utilitiesmcode.log(), mcode.warn(), mcode.exp(), etc.
mcode-listA collection of list processing fucntions and utilitiesmcode.swap(), mcode.call(), mcode.add(), etc.
mcode-cacheA collection of data caching fucntions and utilitiesmcode.fileRead(), mcode.redisGet(), mcode.redisSet(), 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 AcronymDescription/Definition
NPMNode Package Manager, actually “Node PM”, “Node pkgmakeinst” a system to deploy, install, and maintain NodeJS Apps. (PM was a BASH utility).
NVMNode Version Manager, a tool that supports changing NodeJS versions.
MERNMongoDB, Express, React, Node JS.
MongoDBA ‘NoSQL’ database designed for Cloud applications, also referred to as a ‘Document Store’.
ExpressExpress is not a database but rather an ‘extensible routing language’ for communication between a Client and a Server.
ReactA Web UI development system, a JavaScript library developed by Facebook and made public—and Open Source—since 2013.
Node JSA development stack that executes from a local file store—on a local Server—instead of from a network of servers.
JSDocsA 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

  • v0.7.0
    • Added more standardized JSDoc module headers for inclusion in end-product documentation.
    • upgraded to mcode-data v0.6.0, mcode-log v0.6.0, mcode-list v0.6.0, and mcode-cache v0.7.0
  • v0.6.10
    • upgraded to mcode-data v0.5.10, mcode-log v0.5.10, mcode-list v0.5.10, and mcode-cache v0.6.10
  • v0.6.9
    • upgraded to mcode-data v0.5.9, mcode-log v0.5.9, mcode-list v0.5.9, and mcode-cache v0.6.9
  • v0.6.8
    • upgraded to mcode-data v0.5.8, mcode-log v0.5.8, mcode-list v0.5.8, and mcode-cache v0.6.8
  • v0.6.2
    • upgraded to mcode-data v0.5.5, mcode-log v0.5.5, mcode-list v0.5.5, and mcode-cache v0.6.2
  • v0.6.1
    • Missed mcode-cache v0.6.0, arrrggh.
  • v0.6.0
    • Updated mcode-data, mcode-log, mcode-list and mcode-cache.
    • The updated to mcode-cache is a BREAKING CHANGE because it now support multiple caches node-cache and redis at the same time for different App needs. This changed some existing functions named 'redis' to 'cache' to become agnostic.
  • v0.5.0 - 0.5.3
    • All 'mcode-*' packages updated with 'ready()' only implemented in 'mcode-log'.
    • Added internal 'mcode-cache' package.
  • v0.4.2
    • Added mcode-cache and updated to latest log, data, and list.
  • v0.4.1
    • Synchronized mcode-data, mcode-log, mcode-list, mcode-package.
  • v0.4.0
    • Synchronized mcode-data, mcode-log, mcode-list, mcode-package.
  • v0.3.8
    • Moved all data handling functions into new mcode-data package.
  • v0.3.0
    • Upgrade 'mcode-log' to v0.3.0
    • Upgrade 'mcode-list' to v0.3.0
  • v0.2.6
    • Upgrade 'mcode-log' to v0.2.6
  • v0.2.5
    • Upgrade 'mcode-log' to v0.2.5
  • v0.2.4
    • Upgrade 'mcode-log' to v0.2.4
  • v0.2.2
    • Upgrade 'mcode-log' to v0.2.2
  • v0.2.1
    • Upgrade 'mcode-log' to v0.2.1
  • v0.2.0
    • Upgrade 'mcode-log' to v0.2.0, sync'ed package versions to v0.2.0
  • v0.1.11
    • upgraded to 'mcode-log' v0.1.18
  • v0.1.10
    • upgraded to 'mcode-log' v0.1.17
  • v0.1.9
    • upgraded to 'mcode-log' v0.1.16
  • v0.1.8
    • Added the display of sub-package versions on load.
  • v0.1.7
    • Improved README examples, corrected typos.
  • v0.1.6
    • Changed export to the Univeral Module Defintion (UMD) pattern.
  • v0.1.0 * v0.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.
  • v0.0.8
    • Upgraded to 'mcode-log' v0.1.8
  • v0.0.6 * v0.0.7
    • Updated README with pictures illustrating how 'mcode-package' brings togther other MicroCODE packages under 'mcode.*'.
  • v0.0.5
    • Upgraded to 'mcode-log' v0.1.5
  • v0.0.3 * v0.0.4
    • Corrected JSDocs and Jest to DEV ONLY dependencies
  • v0.0.2
    • Published to NPM
  • v0.0.1
    • Initial movement of our internal code into an NPM bundled packages for ease of use in other projects.

Future Development

  • v0.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..

0.6.9

6 months ago

0.6.8

6 months ago

0.7.0

5 months ago

0.6.2

10 months ago

0.5.3

12 months ago

0.5.0

12 months ago

0.6.1

11 months ago

0.5.2

12 months ago

0.6.0

11 months ago

0.5.1

12 months ago

0.3.0

1 year ago

0.3.8

1 year ago

0.4.1

1 year ago

0.2.6

1 year ago

0.2.4

1 year ago

0.2.1

1 year ago

0.2.2

1 year ago

0.1.10

1 year ago

0.1.11

1 year ago

0.2.0

1 year ago

0.1.8

1 year ago

0.1.9

1 year ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.2

2 years ago