{"id":25478446,"url":"https://github.com/microcodeincorporated/mcode-package","last_synced_at":"2026-02-24T20:40:14.399Z","repository":{"id":220150361,"uuid":"750861307","full_name":"MicroCODEIncorporated/mcode-package","owner":"MicroCODEIncorporated","description":"A bundler of all MicroCODE's \"mcode-*\" packages. This allows all our packages to be used thru one const 'mcode.*' for simplicity and consistency.","archived":false,"fork":false,"pushed_at":"2024-10-29T14:32:10.000Z","size":5220,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"production","last_synced_at":"2025-01-30T15:40:40.168Z","etag":null,"topics":["console","events","javascript","lisp","logging"],"latest_commit_sha":null,"homepage":"https://www.mcode.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MicroCODEIncorporated.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-31T13:22:48.000Z","updated_at":"2024-10-29T14:34:38.000Z","dependencies_parsed_at":"2024-03-12T16:27:51.577Z","dependency_job_id":"ef006466-4c89-461c-9847-b0ede7d9b1dd","html_url":"https://github.com/MicroCODEIncorporated/mcode-package","commit_stats":null,"previous_names":["microcodeincorporated/mcode-package","tjmcode/mcode-package"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroCODEIncorporated%2Fmcode-package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroCODEIncorporated%2Fmcode-package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroCODEIncorporated%2Fmcode-package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroCODEIncorporated%2Fmcode-package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MicroCODEIncorporated","download_url":"https://codeload.github.com/MicroCODEIncorporated/mcode-package/tar.gz/refs/heads/production","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239489284,"owners_count":19647366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console","events","javascript","lisp","logging"],"created_at":"2025-02-18T14:32:58.201Z","updated_at":"2026-02-24T20:40:14.392Z","avatar_url":"https://github.com/MicroCODEIncorporated.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MicroCODE's 'mcode-package' collection\r\n\r\nA public NPM Packaging of our internal app construction packages: mcode-log, mcode-list, etc.\r\n\r\nThese are an extremely 'light weight' packages with _zero dependencies_ that can be collected together into a single namespace called 'mcode.' for invocation.\r\n\r\nThese utilities are identical on both...\r\n\r\n- **Frontend** - Browser Client side\r\n- **Backend** - Node Server side\r\n\r\n## Description\r\n\r\nThis is our internal app construction code. These are the tools we use continuously to build robust '24x7x365'code.\r\nThe current packages bundled by this are:\r\n\r\n- **mcode-data** - provides an consistent set of functions for data testing and conversion chores.\r\n- **mcode-log** - provides an consistent set of functions for logging events into any console, with severity and colorization.\r\n- **mcode-list** - provides an consistent set of functions for handling list processing chores.\r\n- **mcode-cache** - provides an simple, consistent set of functions for caching files, keys, or database records using Redis.\r\n\r\n## Dependencies\r\n\r\n- **Production**\r\n\r\n1. _None_\r\n2. mcode-data (optional)\r\n3. mcode-log (optional)\r\n4. mcode-list (optional)\r\n5. mcode-cache (optional)\r\n\r\n- **Development**\r\n\r\n1. Node.JS - standard runtime environment\r\n2. JSDocs - our preferred JavaScript documentation system\r\n3. Jest.JS - our preferred JavaScript testing framework\r\n\r\n## Installing\r\n\r\nUse \"npm install\" to install the 'bundler' and then all required MicroCODE packages.\r\n\r\n- Get to a terminal session in the local repo folder of your project.\r\n- Use 'npm install' to load the package(s)...\r\n\r\n```\r\nnpm install mcode-package\r\nnpm install mcode-data\r\nnpm install mcode-log\r\nnpm install mcode-list\r\nnpm install mcode-cache\r\n...\r\n```\r\n\r\n## mcode-package (NPM 'Bundling')\r\n\r\nThis 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...\r\n\r\n- This shows 'mcode' as logged by its own function '**mcode.debug()**'...\r\n\r\n\u003cp align=\"left\"\u003e\u003cimg src=\".\\.github\\images\\mcode-package-loggedview.png\" width=\"720\" title=\"mcode as logged...\"\u003e\u003c/p\u003e\r\n\r\n- 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'...\r\n\r\n\u003cp align=\"left\"\u003e\u003cimg src=\".\\.github\\images\\mcode-package-functions.png\" width=\"720\" title=\"mcode functions...\"\u003e\u003c/p\u003e\r\n\r\n### Testing\r\n\r\nThis 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.\r\n\r\n- From your project directory...\r\n\r\n```\r\nnode .\\node_modules\\mcode-log\\examples\r\n```\r\n\r\n...you should see the 'severities' example shown earlier in this README.\r\n\r\n- To test with **JEST**:\r\n- From the **mcode-log** package directory...\r\n\r\n```\r\nnpm install --save-dev jest\r\nnpm test\r\n```\r\n\r\n- A view of the JEST tests (for 'mcode-log') in the console...\r\n\r\n\u003cp align=\"left\"\u003e\u003cimg src=\".\\.github\\images\\mcode-log-jest.png\" width=\"720\" title=\"Jest Results...\"\u003e\u003c/p\u003e\r\n\r\n## Available Packages\r\n\r\nThese are the functions we want at the ready in any module for development and debug.\r\n\r\n| Function        | Description                                             | Usage                                                        |\r\n| --------------- | ------------------------------------------------------- | ------------------------------------------------------------ |\r\n| **mcode-data**  | A collection of data handling functions and utilities   | mcode.isObject(), mcode.listifyArray(), mcode.octify(), etc. |\r\n| **mcode-log**   | A collection of event logging functions and utilities   | mcode.log(), mcode.warn(), mcode.exp(), etc.                 |\r\n| **mcode-list**  | A collection of list processing fucntions and utilities | mcode.swap(), mcode.call(), mcode.add(), etc.                |\r\n| **mcode-cache** | A collection of data caching fucntions and utilities    | mcode.fileRead(), mcode.redisGet(), mcode.redisSet(), etc.   |\r\n\r\n### Documentation\r\n\r\nWe believe is explicit code documentation, for other users, and for our 'future selves'.\u003cbr\u003e\r\nJSDocs is a standardized system for documenting functions and data structures that produces three (3) primary outputs:\r\n\r\n1. Inline documentation for the coder.\r\n2. Intellisense popup documentation for the coder for every function.\r\n3. External 'reference manual' documentation for your entire code base, if used consistently.\r\n\r\n- This entire project--like all our projects--is documented with **JSDocs**.\r\n\r\n- To install JSDocs use, get to a terminal session in the project folder...\r\n\r\n```\r\nnpm install --save-dev jsdoc\r\n```\r\n\r\n- Configure JSDoc processing in...\r\n\r\n```\r\njsdoc.json\r\n```\r\n\r\n- To regenerate the JSDocs from all source code, use the following command (from the project root directory)...\r\n\r\n```\r\njsdoc -c .jsdoc.json\r\n```\r\n\r\n...then open ./docs/index.html\r\n\r\n\u003cp align=\"left\"\u003e\u003cimg src=\".\\.github\\images\\mcode-log-jsdocs.png\" width=\"720\" title=\"JSDocs...\"\u003e\u003c/p\u003e\r\n\r\n## Help\r\n\r\nContact Timothy McGuire, support@mcode.com.\r\n\r\n## Terminology\r\n\r\n| Word or Acronym | Description/Definition                                                                                                                       |\r\n| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| **NPM**         | Node Package Manager, actually “Node PM”, “Node pkgmakeinst” a system to deploy, install, and maintain NodeJS Apps. (PM was a BASH utility). |\r\n| **NVM**         | Node Version Manager, a tool that supports changing NodeJS versions.                                                                         |\r\n| **MERN**        | MongoDB, Express, React, Node JS.                                                                                                            |\r\n| **MongoDB**     | A ‘NoSQL’ database designed for Cloud applications, also referred to as a ‘Document Store’.                                                  |\r\n| **Express**     | Express is _not_ a database but rather an ‘extensible routing language’ for communication between a Client and a Server.                     |\r\n| **React**       | A Web UI development system, a JavaScript library developed by Facebook and made public—and Open Source—since 2013.                          |\r\n| **Node JS**     | A development stack that executes from a local file store—on a local Server—instead of from a network of servers.                            |\r\n| **JSDocs**      | A toolset to automatically generate API-style documentation from source code tagging.                                                        |\r\n\r\n## Authors\r\n\r\nContributor's names and contact info...\r\n\r\n- Timothy McGuire [@TimothyMcGuire](https://twitter.com/TimothyMcGuire) - Founder, President-CEO of MicroCODE, Inc. a software and controls engineering company in Detroit, Michigan USA.\r\n\r\n## Version History\r\n\r\n- v0.9.0\r\n  - Updated mcode-data,-log,-list,-cache packages to get latest enhancements and fixes.\r\n- v0.8.9\r\n  - Updated mcode-log package to v0.7.9 to correct simple object logging to VT and HTML.\r\n- v0.8.8\r\n  - Updated mcode-log package to v0.7.7 to get latest logging enhancements and orange debug.\r\n  - Updated mcode-data package to v0.6.3 to get new common 'classExport()' and other utilities.\r\n  - Updated bootstrap.js and added .env.phase for standard MicroCODE project environment variables.\r\n- v0.8.7\r\n  - Updated mcode-log package to v0.7.5 to get latest fix for logging request/response.\r\n- v0.8.6\r\n  - Updated mcode-log package to v0.7.4 to get latest fix for logging simple arrays.\r\n- v0.8.5\r\n  - Updated mcode-log package to v0.7.3 to get latest bug fixes and colorization updates.\r\n- v0.8.3\r\n  - Updated mcode-log package to v0.7.2 to get latest colorization \u0026 documentation updates.\r\n- v0.8.2\r\n  - Updated mcode-log package to v0.7.1 to get latest documentation updates.\r\n- v0.8.1\r\n  - Updated mcode-log to v0.7.0\r\n  - See Release Notes for mcode-log for details, mainly direct HTML output of colorized JSON objects.\r\n- v0.8.0\r\n  - Updated mcode-cache to v0.8.0\r\n  - See Release Notes for mcode-cache for details, this is a BREAKING CHANGE.\r\n- v0.7.1\r\n  - Use \\_\u003cpackage\u003e naming convention for internal use of our own mcode.\u003cpackage\u003e within other packages.\r\n  - Corrected logging of exceptions in package loader.\r\n  - Supplied our 'bootstrap.js' for loading 'mcode.\\*' package as the first thing in a NODE Server.\r\n- v0.7.0\r\n  - Added more standardized JSDoc module headers for inclusion in end-product documentation.\r\n  - upgraded to mcode-data v0.6.0, mcode-log v0.6.0, mcode-list v0.6.0, and mcode-cache v0.7.0\r\n- v0.6.10\r\n  - upgraded to mcode-data v0.5.10, mcode-log v0.5.10, mcode-list v0.5.10, and mcode-cache v0.6.10\r\n- v0.6.9\r\n  - upgraded to mcode-data v0.5.9, mcode-log v0.5.9, mcode-list v0.5.9, and mcode-cache v0.6.9\r\n- v0.6.8\r\n  - upgraded to mcode-data v0.5.8, mcode-log v0.5.8, mcode-list v0.5.8, and mcode-cache v0.6.8\r\n- v0.6.2\r\n  - upgraded to mcode-data v0.5.5, mcode-log v0.5.5, mcode-list v0.5.5, and mcode-cache v0.6.2\r\n- v0.6.1\r\n  - Missed mcode-cache v0.6.0, arrrggh.\r\n- v0.6.0\r\n  - Updated mcode-data, mcode-log, mcode-list and mcode-cache.\r\n  - The updated to mcode-cache is a BREAKING CHANGE because it now support multiple caches\r\n    node-cache and redis _at the same time_ for different App needs. This changed some existing\r\n    functions named 'redis*' to 'cache*' to become agnostic.\r\n- v0.5.0 - 0.5.3\r\n  - All 'mcode-\\*' packages updated with 'ready()' only implemented in 'mcode-log'.\r\n  - Added internal 'mcode-cache' package.\r\n- v0.4.2\r\n  - Added mcode-cache and updated to latest log, data, and list.\r\n- v0.4.1\r\n  - Synchronized mcode-data, mcode-log, mcode-list, mcode-package.\r\n- v0.4.0\r\n  - Synchronized mcode-data, mcode-log, mcode-list, mcode-package.\r\n- v0.3.8\r\n  - Moved all data handling functions into new mcode-data package.\r\n- v0.3.0\r\n  - Upgrade 'mcode-log' to v0.3.0\r\n  - Upgrade 'mcode-list' to v0.3.0\r\n- v0.2.6\r\n  - Upgrade 'mcode-log' to v0.2.6\r\n- v0.2.5\r\n  - Upgrade 'mcode-log' to v0.2.5\r\n- v0.2.4\r\n  - Upgrade 'mcode-log' to v0.2.4\r\n- v0.2.2\r\n  - Upgrade 'mcode-log' to v0.2.2\r\n- v0.2.1\r\n  - Upgrade 'mcode-log' to v0.2.1\r\n- v0.2.0\r\n  - Upgrade 'mcode-log' to v0.2.0, sync'ed package versions to v0.2.0\r\n- v0.1.11\r\n  - upgraded to 'mcode-log' v0.1.18\r\n- v0.1.10\r\n  - upgraded to 'mcode-log' v0.1.17\r\n- v0.1.9\r\n  - upgraded to 'mcode-log' v0.1.16\r\n- v0.1.8\r\n  - Added the display of sub-package versions on load.\r\n- v0.1.7\r\n  - Improved README examples, corrected typos.\r\n- v0.1.6\r\n  - Changed export to the Univeral Module Defintion (UMD) pattern.\r\n- v0.1.0 \\* v0.1.5\r\n  - Rewrote code to load all functions and elements from an included mcode-_ package into 'mcode._'.\r\n  - Removed the need to update this package with explicit references when features are added to a bundled package.\r\n- v0.0.8\r\n  - Upgraded to 'mcode-log' v0.1.8\r\n- v0.0.6 \\* v0.0.7\r\n  - Updated README with pictures illustrating how 'mcode-package' brings togther other MicroCODE packages under 'mcode.\\*'.\r\n- v0.0.5\r\n  - Upgraded to 'mcode-log' v0.1.5\r\n- v0.0.3 \\* v0.0.4\r\n  - Corrected JSDocs and Jest to DEV ONLY dependencies\r\n- v0.0.2\r\n  - Published to NPM\r\n- v0.0.1\r\n  - Initial movement of our internal code into an NPM bundled packages for ease of use in other projects.\r\n\r\n## Future Development\r\n\r\n- v0.0.\\*\r\n  - Any additional core code we development for general JavaScript MERN coding, debug, and support.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE.md file for details\r\n\r\n## MicroCODE Mantra\r\n\r\nMicroCODE, Inc. was founded in 1987 as a controls engineering and software development company.\u003cbr\u003e\r\nWe specialize in manufacturing and quality control applications that must run 24x7x365 for years at a time.\r\n\r\nOur slogan, distilled from over three decades of developing, testing, installing, and supporting 24x7x365 manufacturing applications, is..\r\n\r\n\u003cp align=\"left\"\u003e\u003cimg src=\".\\.github\\images\\hail-caesar.png\" width=\"720\" title=\"Hail Caesar!\"\u003e\u003c/p\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrocodeincorporated%2Fmcode-package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrocodeincorporated%2Fmcode-package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrocodeincorporated%2Fmcode-package/lists"}