{"_id":"@crg_sa/crm-foodsales-common","_rev":"9-fe1e0da0c6675cfc62a94cef679d6bb6","name":"@crg_sa/crm-foodsales-common","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.0":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"@crg_sa/crm-foodsales-common@1.0.0","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"dist":{"shasum":"51d28200901395779ce5fa090c963ec79d36904f","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.0.tgz","fileCount":5,"integrity":"sha512-h8/WfDSYA/t7poaogmuyLJNNhTguBKg0NDFjk6KtUBAZ2eE1zhPwiG8E15hM56Zf+BzIkE5jvEKgeJFkENOgkA==","signatures":[{"sig":"MEUCIEhbwR3dyJqC2RwFfbraePUJqBIlC5Vwkqd3ynHy4zIwAiEAgl5KOFXWlL7RmnCSQytrjKP2BXcJljuQBfeaycI3vh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11837},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"41184d42de11faed311f949f2a831179064c6f8e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build"},"_npmUser":{"name":"fredcrgsa","actor":{"name":"fredcrgsa","type":"user","email":"fred@crgsa.co.za"},"email":"fred@crgsa.co.za"},"_npmVersion":"9.4.2","description":"","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.11.1","prettier":"^3.3.3","typescript":"^5.8.3","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crm-foodsales-common_1.0.0_1750409776540_0.7067901723065662","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"@crg_sa/crm-foodsales-common@1.0.1","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"dist":{"shasum":"0f226a9e4b85ea4f260870acb586806c79a289c9","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.1.tgz","fileCount":5,"integrity":"sha512-STev79XOQfdY+da6sQJ3o0eRQS1fUvbo5YHgt3DgyqRmfckVdl3xA1r26xWXUynlbmkJYUvIhKnpTJbiQBYi4Q==","signatures":[{"sig":"MEYCIQDsYiukyYeqTELzkFuFk6wKk0SSenPGcqDD/u1PaUlY3wIhAPyN7M5L1vmjyAasXJXxIix3n3Nnig28xP9thZEP8X7j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11845},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"41184d42de11faed311f949f2a831179064c6f8e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build"},"_npmUser":{"name":"fredcrgsa","actor":{"name":"fredcrgsa","type":"user","email":"fred@crgsa.co.za"},"email":"fred@crgsa.co.za"},"_npmVersion":"9.4.2","description":"","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.11.1","prettier":"^3.3.3","typescript":"^5.8.3","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crm-foodsales-common_1.0.1_1750410101909_0.2932844480067145","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.2","keywords":[],"author":"","license":"ISC","_id":"@crg_sa/crm-foodsales-common@1.0.2","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"dist":{"shasum":"b28d4f1012c5c764f7a0e24eb1c0131e68b9df44","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.2.tgz","fileCount":5,"integrity":"sha512-Lt82wfv3UMbQH/A4oCJOJy5uXhuvN7ndpUrQIoWVeIJ0kDPTtOeY6fo5AE7jK/+2dEsc9oEdJiKYvbhC1uz5yw==","signatures":[{"sig":"MEQCIBXuBbfkWwXhgWO04KOI5lLLi9N3u/RYKs5iJ/kMHMqkAiBwa7uvO49Js8Dy7V4OHkHE6ccWqCSb8onIfpaecKupJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11845},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"41184d42de11faed311f949f2a831179064c6f8e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build"},"_npmUser":{"name":"fredcrgsa","actor":{"name":"fredcrgsa","type":"user","email":"fred@crgsa.co.za"},"email":"fred@crgsa.co.za"},"_npmVersion":"9.4.2","description":"","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.11.1","prettier":"^3.3.3","typescript":"^5.8.3","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crm-foodsales-common_1.0.2_1750410332089_0.43321288019418236","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.3","keywords":[],"author":"","license":"ISC","_id":"@crg_sa/crm-foodsales-common@1.0.3","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"dist":{"shasum":"11491ad039b6087812adbbcfb65a321919e5281a","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.3.tgz","fileCount":7,"integrity":"sha512-784C6O1KALeyypX1OQ3Idg9W0+hcUZwdHiYaEBh6sy6HGTxJ14fICi278FXMp+bEHwkxEQz71NiLWK8nSONwJA==","signatures":[{"sig":"MEQCIFw12nfADVKvbob35CNnujNEOwKgkfO0IG/LlOWKQYryAiAwVd7s8aLbGIhspOMG1eo0dtwEbG2i6CzXUogkg78zZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13866},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"41184d42de11faed311f949f2a831179064c6f8e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build"},"_npmUser":{"name":"fredcrgsa","actor":{"name":"fredcrgsa","type":"user","email":"fred@crgsa.co.za"},"email":"fred@crgsa.co.za"},"_npmVersion":"9.4.2","description":"","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.11.1","prettier":"^3.3.3","typescript":"^5.8.3","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crm-foodsales-common_1.0.3_1750411213488_0.018209886154754162","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.4","keywords":[],"author":"","license":"ISC","_id":"@crg_sa/crm-foodsales-common@1.0.4","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"dist":{"shasum":"d9255bc4e715a7adaa22cbe3ab9ec9e9bade5b50","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.4.tgz","fileCount":7,"integrity":"sha512-AmVUKx4CU/DeA+55P/T0Dc1d7isRk/mYdvGI23J5pDjOQ/Kd+gNCGTxdxVyyX214/V1Du9tp8zRhirIcbWihHQ==","signatures":[{"sig":"MEYCIQD+/VhCWuPs5ytC1PPDgh5ytmKhoIK8BcEiF9I6oP12hQIhALJ+ypg9gdfr4fG1ThJ3SJ4pxt+CmaZrGqUb782YzAWW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16217},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"fd56d4788cbcc089559f08143988c0927e197aa8","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build","version":"npm run build"},"_npmUser":{"name":"fredcrgsa","actor":{"name":"fredcrgsa","type":"user","email":"fred@crgsa.co.za"},"email":"fred@crgsa.co.za"},"_npmVersion":"9.4.2","description":"This package contains shared TypeScript/JavaScript code, types, and utilities used by multiple parts of the CRM FoodSales project (such as the client, server, and data import tools).","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.11.1","prettier":"^3.3.3","typescript":"^5.8.3","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crm-foodsales-common_1.0.4_1750416283588_0.961115116136473","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.5","keywords":[],"author":"","license":"ISC","_id":"@crg_sa/crm-foodsales-common@1.0.5","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"dist":{"shasum":"c5e897853f9a61ec58f825296732f3bf0ba9dbea","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.5.tgz","fileCount":7,"integrity":"sha512-/MFvR6HSgkHL+2jhTP49ir26nqTVMp5VE2lAiXrVIvMd8djWvHDwa0PRk26V0SUVXxf6JMsS2vCwyX5bCqoNiQ==","signatures":[{"sig":"MEYCIQDQVqZjHKS+4wyURFo8moilanmTxXc/+kRNaiWpC+wmUwIhAL26DEAPImOP2efdEksvqRWl3wcf5ag3iDIXMBECRMwp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16331},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"72d2cb41740ca0fdfbd309f1c336513e9546e100","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build","check":"bash ./scripts/prepublish.sh","version":"npm run build","check-publish":"npm run check && npm publish --access public"},"_npmUser":{"name":"fredcrgsa","actor":{"name":"fredcrgsa","type":"user","email":"fred@crgsa.co.za"},"email":"fred@crgsa.co.za"},"_npmVersion":"9.4.2","description":"This package contains shared TypeScript/JavaScript code, types, and utilities used by multiple parts of the CRM FoodSales project (such as the client, server, and data import tools).","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.11.1","prettier":"^3.3.3","typescript":"^5.8.3","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crm-foodsales-common_1.0.5_1750423305277_0.25329922845040986","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.6","keywords":[],"author":"","license":"ISC","_id":"@crg_sa/crm-foodsales-common@1.0.6","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"dist":{"shasum":"d46a6bec890a3cdc8cb6d2c695588b74649ed767","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.6.tgz","fileCount":7,"integrity":"sha512-DKFcS51p3shd5eD4XmZGXm38/jgybNM3VZT4WsKfXQzYwifaDGtJ16Qeu+m+XJ7wLaEunB8f30N2lzkHbjR3eg==","signatures":[{"sig":"MEUCIGMYV5yQP4QXEtB7bCoZuk4tye92+DyJ6m9G6O7U3Z6FAiEAjVUiFgh3FG1SE7MtYzX2pUflyrdTMTFpRs1sXunVRBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16633},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"ca2594e0286655290d4b0b69b7daadf6e66974f5","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build","check":"bash ./scripts/prepublish.sh","version":"npm run build","check-publish":"npm run check && npm publish --access public"},"_npmUser":{"name":"fredcrgsa","actor":{"name":"fredcrgsa","type":"user","email":"fred@crgsa.co.za"},"email":"fred@crgsa.co.za"},"_npmVersion":"9.4.2","description":"This package contains shared TypeScript/JavaScript code, types, and utilities used by multiple parts of the CRM FoodSales project (such as the client, server, and data import tools).","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.11.1","prettier":"^3.3.3","typescript":"^5.8.3","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crm-foodsales-common_1.0.6_1750423722574_0.14148608694943254","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.7","keywords":[],"author":"","license":"ISC","_id":"@crg_sa/crm-foodsales-common@1.0.7","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"dist":{"shasum":"57b7dabf0ff170775a10a86b7f33fb5c15cd90ae","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.7.tgz","fileCount":7,"integrity":"sha512-Uy1IEZ8LICtqx9669ohJ1UIV9Ug16nWAb5d9bGx+GvclxiZvV9tclceEmE+ICqEk726inymz9iScjJpu7TZ9Dw==","signatures":[{"sig":"MEQCIHAjmEBpvR8+0s31RTKbZwMmlVNkUfQkViUACB8Fs4veAiAV+mTbpGiEAinifWX+DXvFfmq6Uxnx8nb6FbMkBEzvnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17269},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"77deaf243dc78510706a8a1b5e35db9c5f9bafb1","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build","check":"bash ./scripts/prepublish.sh","version":"npm run build","check-publish":"npm run check && npm publish --access public"},"_npmUser":{"name":"fredcrgsa","actor":{"name":"fredcrgsa","type":"user","email":"fred@crgsa.co.za"},"email":"fred@crgsa.co.za"},"_npmVersion":"9.4.2","description":"This package contains shared TypeScript/JavaScript code, types, and utilities used by multiple parts of the CRM FoodSales project (such as the client, server, and data import tools).","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.11.1","prettier":"^3.3.3","typescript":"^5.8.3","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1"},"_npmOperationalInternal":{"tmp":"tmp/crm-foodsales-common_1.0.7_1751465324509_0.39693455837444613","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@crg_sa/crm-foodsales-common","version":"1.0.8","description":"Shared code, types, and utilities used by the `client` and `server`.","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --build","watch":"tsc --build --watch","check":"bash ./scripts/prepublish.sh","version":"npm run build","check-publish":"npm run check && npm publish --access public"},"keywords":[],"author":"","license":"ISC","devDependencies":{"eslint":"^9.11.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","prettier":"^3.3.3","typescript":"^5.8.3"},"gitHead":"105308c56fc8005eb8ba851067369875bafd4da0","_id":"@crg_sa/crm-foodsales-common@1.0.8","_nodeVersion":"24.14.0","_npmVersion":"9.4.2","dist":{"integrity":"sha512-nCxQYAruTBAIGrZE+nyoCjF4ueED398GKRv9B2JepLAPFs2JFcCmnCNSGSI+40HzPS8+wEEfDyrkiQ0tSjScZQ==","shasum":"6089df9af578c49127ccc78072291ca7ae818759","tarball":"https://registry.npmjs.org/@crg_sa/crm-foodsales-common/-/crm-foodsales-common-1.0.8.tgz","fileCount":7,"unpackedSize":16026,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFjJBSnL2qQTVlLMeErO/FJLyJkuOVXLIx7SkZ7ak837AiEAhbVXpHwrLWpoOOIqDDrU2VTXnm84euve9gF9pP2vcBI="}]},"_npmUser":{"name":"fredcrgsa","email":"fred@crgsa.co.za"},"directories":{},"maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crm-foodsales-common_1.0.8_1774533115136_0.720896220610074"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-20T08:56:16.392Z","modified":"2026-03-26T13:51:55.419Z","1.0.0":"2025-06-20T08:56:16.728Z","1.0.1":"2025-06-20T09:01:42.089Z","1.0.2":"2025-06-20T09:05:32.283Z","1.0.3":"2025-06-20T09:20:13.662Z","1.0.4":"2025-06-20T10:44:43.792Z","1.0.5":"2025-06-20T12:41:45.466Z","1.0.6":"2025-06-20T12:48:42.747Z","1.0.7":"2025-07-02T14:08:44.678Z","1.0.8":"2026-03-26T13:51:55.291Z"},"license":"ISC","keywords":[],"description":"Shared code, types, and utilities used by the `client` and `server`.","maintainers":[{"name":"fredcrgsa","email":"fred@crgsa.co.za"}],"readme":"# CRM FoodSales Common\n\nShared code, types, and utilities used by the `client` and `server`.\n\n## Development Workflow\n\nThis package is part of an **npm workspace**. To make changes and test them locally:\n\n1.  **Edit Files**: Make changes in the `src/` folder.\n2.  **Auto Rebuild**: Run the watch command from the **root folder**:\n    ```bash\n    npm run common:watch\n    ```\n    This automatically compiles your changes into the `lib/` folder, making them immediately available to the client and server.\n\n## Publishing (Formal Release)\n\nWhen you are ready to release a new version to the GitHub/npm registry:\n\n1.  **Update Version**: Use one of these commands inside the `common` folder:\n    *   `npm version patch` (e.g., 1.0.1 -> 1.0.2)\n    *   `npm version minor` (e.g., 1.0.1 -> 1.1.0)\n2.  **Commit & Push**: Ensure all changes are committed to Git.\n3.  **Publish**:\n    ```bash\n    npm run check-publish\n    ```\n    *Note: This script verifies requirements before publishing to the registry.*\n","readmeFilename":"README.md"}