{"_id":"@amrc-factoryplus/utilities","_rev":"21-59521de8107261cca0b9876e2c9bd739","name":"@amrc-factoryplus/utilities","dist-tags":{"latest":"1.3.4"},"versions":{"1.0.0":{"name":"@amrc-factoryplus/utilities","version":"1.0.0","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.0.0","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"596478dc25feb937e31025591bc3d8b6fd71db86","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.0.0.tgz","fileCount":42,"integrity":"sha512-yg94doBmhd61VtpmHcKdArzhl4noy/j/VQDt0cTsw4zdl5gdsLcwYaRx/Kkf1NWk+RX9c77hiPL1Jrb9XvPMgg==","signatures":[{"sig":"MEUCIQDIXXPiDZyQD4ZJkvZi8m9FRR3ZJSTFF0b+CnZkUDZ+/wIgE0Fl5aXakhQLzfAu1GUEcnMWQrZ3xAng566LjNhVe34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJUT2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqm/g/7BcuTbsfEclebIVKHN2YXR/yf341Tr1ZOSGW2QIiJs2TX8Bp+\r\n7HcUC3w32gvwiZ7IZm6FGAz4Z3/RbKCEKoRIfVuQIY7xivGkHuzBep+ohEYT\r\n5oebIKAWqbMomZBJHRHG8nIwqexEZ9tBSyDRWkh32jKxeVW8Hxm7w0Xe9QP2\r\nVVFpIhjNbrAX+opvG/Fn1vVbUHkrpd9BLTRTS1E8cUVBpWC5iGsEBqzZv+25\r\nxfbl1m3g/0/L7z4q3mO9kQPJ19vtEE3Lw3HREygFk31tO6ejx/5YoBlnCoWm\r\nSwxLbFr07uOC0e02Et2ftPzN7xSOeBhxnrcxHtfWrnA+3l0259Ma1vHD98g8\r\nR9zPyCfRzfMJuN2BB2qzBv7irLUTL/JkOIeoUP19bFwNWtnY/uGroDKWEHoj\r\nbAIkv+2V8rXA2PG71RK/o+A1j6J31JKkkgV1Hdf4mmGOWwx54IWEk+1fUH+p\r\nDouHvwXGgd7oYL2PyWrv03vQ3zqxszfzx2eXUt934g02p0fJQpg0GhcGgR4o\r\nObFFJGdbArOSqOjgeqLcI1tHge5b3kfjopffM4cH/vSApzD+uRZ8P3Mb7lvK\r\nxhmdzMjEDB/vDjokqfijsJTrJ9oyGGDlV2HZ86ch5k2eamrtH69DnLaBEgsX\r\nuK6IAD71sRhLGVpb9h9FBI3HXQGiaKXHD5w=\r\n=0Jwr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"8a1ae78af4c5b41f299e5f045b83d383303b9eed","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.3","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.19.1","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","@types/express":"4","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.0.0_1680164085975_0.4292636750209877","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@amrc-factoryplus/utilities","version":"1.0.3","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.0.3","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"ca7771ae2805dbd2815e8c6b1a23b4bf960c6287","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.0.3.tgz","fileCount":42,"integrity":"sha512-d7yk19UfUDmc6Y3IMpwQVhUgr731qwkuKPEQz5ukMKCanf6dDDlGQEW9ZvQnuhKjvxC3FOQRtPSlgUB4KimmlQ==","signatures":[{"sig":"MEYCIQDvNJ8COirjQhvATEjzaAarfARZg85zBcDtuVBprrKPhwIhAJVjiWYA1UD4ifM6kOZx+w3x4is9vVMWNJudJKOc4Tlb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJUdLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDDA/7BDBQGz9H2q1RCMCGl3dUjvA5VNFcaihswQbql+OLy1iGgnML\r\nub89cG4JiGtpxd+7cFFPgLCCs/QQvJSvsKcMVH2/cQzMW+a+1E9NFDi7V8GZ\r\np8BQYPExTR7j6ZqU1brrJv0pxCsliRuwsqdWiejG8lArrJobP5ASUdFzbbzK\r\n1piNzl5oB3+80hoQuqHtlGZXjOG8fzrsgE4fwXR+MwyWjrtcShRFKEgjPrq9\r\nRHXLd5cRB0SALnOyoLmb/vQvsBFyz5XZAyCL9RcZEcjOr3NbdU7UUheZN76E\r\n3mdw4Rrykr611HAMYImoEdmNMSuxJbL0WCRz8mMqdJK3+q0Srr4UNeiFO1IB\r\npzfCAA+h3FyOFCl1YdioPNaViAuKjVK33DpKpDNthLekHB+isIyTP00/KiP3\r\n/Xw3OjyY16yESp1LyUUpNfLci8skB5crNeVmXhy8oPYURVp5JnP+jnaQxZJ5\r\nA5ehiDbT1HE3jmTdoDWPaiB2+f8TdQEAU4lw14mxfyKV6eV/sEmLVFDs9ulZ\r\nuHhZkPKH0QL6j0aEavfBfWk+4hHutuY/Lds9gPcu4MYh/PDB4hT2G8XrsIGK\r\n0Cnjx8eG3F1Jdat1KsO43xymTyMxPPMlNj4UV3l6s3ybCtaw85UuKBUevPwF\r\nLv/CNvoU1WHopXclGztZsfAz9pia+r8MAeE=\r\n=uh5H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"98a62ed4cff0095f79c5b38e49b982f10beeb6dc","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.3","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.19.1","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","@types/express":"4","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.0.3_1680164683527_0.7282038633477919","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@amrc-factoryplus/utilities","version":"1.0.4","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.0.4","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"906f3c2960e16007d7ba96fcf5607859ff21ce02","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.0.4.tgz","fileCount":42,"integrity":"sha512-BnzYMw5msMKtwTVWhdUPbxaSCtCb0QblQ3o0frMdxynTMEGZLNbnEAWfT2uoZDUH13kUG/6FcsiCVSPkFtW0yg==","signatures":[{"sig":"MEUCIQCMXcmFGLUrODjjvOZkMIF53ivrUIoaa9Fl+NtC3QXtmAIgIO01ZT4wRFAH2iUAf6QxKrCbxZc8HngHwymV4ZA5h/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJUmxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouoQ/8CSX7H5PC4E/lMfD6R8zo/W0Nj+HjbM6Fx7OL0cL6KfGr5u8J\r\nuTX2V8NP1YRbzmg0qKzkq8NAHijhypDongvmoZ9OqavTcwu+Gf7QUzFjv9qn\r\na8ygWdkqL6zkcPZZM+vuHng893KqKfXK1+letOBMlawN0JhjWCbl9kNANd55\r\nVK+0l5VSJhHcJ4+UG8Sd4BJDT4BC5hDPMZ8SCexAmQtp73fNnISDPkbDO75I\r\nCBuQ2IihWtuElvet0VnBCpvTcK8uNIxWAoYyw/Gy/2vse7JCYPAmJLmykeap\r\nAUhL2ozmc5UT/ARc9S3xCN4e3h1B05zQwJdTlsEKeFqiN1hzvui6yKEsJ3bg\r\nxIHNGZhIldBeZ/4xC3kLkBlyR96cpJiHbB137rLrgS6vrKk1Qay8qWg93Vi2\r\nFShnPWUwe9VwLf8swHcIBEOexMeZHIEgn9tXAXwtrbWIs3mp1k5kXi2+NJta\r\n1ZQAJeFVc/wsKsuX3kVdaMGLDpsv4svF5aQ8PC4ynqF3jZURDKN4mEJJ7X/r\r\ndxP2bVEZzNZqtjDjGeq4XZWFmccs/1yn7PFc8iKMDf+jQDOgA6NoqpGtDEHf\r\nXzDL0M7JbD96Wd3QCF40mBhLmFtz0634D0Wn3ZXGZ+JLvuSAf4+XcQM1IbeD\r\nj+4Q7hHVdZ7+SGWJ7VtrEohHy8WEJUu2ELU=\r\n=vr+7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"0118c77bd303737ea31ad3ebd0afda867db580e1","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.3","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.19.1","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","@types/express":"4","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.0.4_1680165297045_0.8379485329792611","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@amrc-factoryplus/utilities","version":"1.0.5","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.0.5","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"dcf6efc452b3b036615a9c40c358d8348ab4fe75","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.0.5.tgz","fileCount":42,"integrity":"sha512-SxLH+9NFQg9nHnqmfxPRcKIcVf9somA8MBzYDLS3jyiONj7dvym6TQ3ns3TqLcg4Fw6WuG/JnuBfB5xPRFQQOw==","signatures":[{"sig":"MEQCIAGmHrIcXUpkBdnJ4YGrn5YEyX+7uJuZ/sbyXpYfJEXLAiAwjbp+ALYSutZCR7K+xK7JaBGnRpw9Un8eDsPxbIEpXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJU1YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrpkg/8CWG0v8gz4a8KIm0hWYC531CCFPKY6FXUYuCH8EsNvw+CnCDv\r\nPUVUHvhcTrEokvJYSidOdKrvIQNpc1LNmvvcIu4NV7Nf7SH2xzQ687Qs81tR\r\ninB2GFbNCjvHF+Mb8e+as5YVWHq7aTK4TP4ezk8+X2HgrIq60vvJ6QEpj01i\r\nmncw+dPP03Z8cxFbWot8jsDFJHCn1FbWozADhJIPflIEB8c2kbH4MUh5IGon\r\nG+TAo0si4/E9KPbTUyefvrAESNYt2mwIG8B9cmm5z5G+PuwfoBWso3j7X+jH\r\n8TszI3PtlIO09KlMXPv2hphPRRKdnmdSpplIMN2d5xMbBgMVIOSfxDyIIC/e\r\nESCE4bMsc0+LEmhZ1E4p57I9VW3BynPmO8rZ0Wt0nOmE+H+myM9ZsujiCYqE\r\n+Ea6t51F1/Q5VmBBbsbWjUMfuzQAU4uea03k6qGfOxpw4q9ziaitoOHQSuXi\r\nhAzx+PAdBSWR0srqWYE74XGtHgfdWpy52HnjCTc1pqwLAQzJPivRXXm0r+go\r\nPC71Nh4vBmtE3OaCilzgFOt1SiRT4UKG7KJ2J9Csn8u6W5C5BPi2GcKlE6SI\r\nq29QxZfats6uODSwAoBHHGPa1zYh5X1gGZf4uq0G+JVzUnCE1ilsHunv/j4b\r\npdftT1rLnH9X43R4Ln8pfkpV8H5+0hV+e8k=\r\n=qH5y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"fbed222dedd7c32a9a0964a8fe254f76854c2fb9","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.3","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.19.1","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","@types/express":"4","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.0.5_1680166232636_0.6766848336346665","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@amrc-factoryplus/utilities","version":"1.0.6","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.0.6","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"54502ce4d188cb2ca83b220e9e333e3754605671","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.0.6.tgz","fileCount":42,"integrity":"sha512-HzYjAnqV67Q5n08eMa/Ljrb1dSZEWVgQCoMnXBjiVw2XujHqTBFlcTH4TCWsxg/cinSGNyshHrgCj7dFOc8EYw==","signatures":[{"sig":"MEQCIG125WIMsvfQZN9Yq9vmmzGHVNs9HF6DILpjZygAhYjeAiBGSz6I/wNuyeYv3RToDf1fAZU9Dtudm5vZhoUhZoEjYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJV1XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNEg//XiUUC6sEnSGPCCXIjTjuJQRrdXxBJz4lX5PsdJZxb9y2FKfo\r\nlD1UF2hcODmZtsGMKgABrGqn70/tXLn88CnMvnuWuuyel2UgPGi4sUMq761N\r\ny+zCXTU+m20u1Ur9Cm1GKLStQhXuX+B1+hHD2dfI+r3KHimEOeN3zOMwfNZR\r\nsDCCo50/8+QQA5tMYtaRzmQRQ0HvS5x+Q+Tkw2dVqg1Ke0yc2Io6xlMSovAK\r\nZpi560oWyOGG9zf8uBSlB4sqk6EtJYna2wz1yPsRdmdePZXxPgeks5kE41ZU\r\nLMGD5G0b+FtfLrgKi1/6bjBg3nhy/8kAga4xX/nmnaA74JQ7DGwZ+0o0VWm1\r\nbGDj4F8BeFrmtRUJ6pmy3Lsy7pS5cyDGwjlnlO+PoApq65BCuT3I1Vsb7/SV\r\nH/rhnMeZMhjkM/IPY5Kgnkkjl3LjvH5GlPm849X5dm755d9cFeCM5MrB5KBd\r\nsaH0JBfmBwsEeOgUyXqk5di1D5PeR3by9uoNOp5MORN15Kfo/i0HaZDAMoqx\r\nQwqc7FLrAiz3ekWs60a7v47I4eEn/xytoK5nfUrm/VZqh6Mn+MIfA1Etr3Bc\r\nN9HmdO6x3ajr1751wre+xqfPRRebE28OlxLZQrKujCCJli1LQEM5F4Vbx4xR\r\nRlo6rsTtfnTIwzowmBZ3puygacBuXP8IoB0=\r\n=NK2s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"80e7e3bb3180a2c90e9dcf883fcc7f7ed7066ab8","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.3","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.19.1","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","@types/express":"4","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.0.6_1680170327700_0.7470422038422191","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@amrc-factoryplus/utilities","version":"1.0.7","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.0.7","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"a904227817b57b456750d1f2e130fb46e38fcfae","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.0.7.tgz","fileCount":42,"integrity":"sha512-bpFeXLTot+nI/IEq9kkq1Z09RltdmxToInIBFgjwgppp9HuuNeJ8iP23CBAa3aIU8lb/EtAk35t/1KdZ+xVNPw==","signatures":[{"sig":"MEUCIFp5XUZIRNbva+sNRXS9+HMCgfwg52q/+8RHW6bV/gsLAiEA/JugqsjFYBIshKrI71qDCH5C17l68GUDcz7RPpRdf2A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKrDeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmow0w/+OwjXc7yEMHRvsBVK8n3SDYh4CD6dH1C1f5RSF/iIZDhLqlW/\r\naO/GfLGx03X8XOshJZl+vTP3TMee9vFEwX5WAXZTgXAXfBzOQpLw2DTrXyNl\r\n+nrndZqCUKYGnp6Oz9/8+fV/UAq9W9nHB3NrcolBCVc2Ep5dwRhGqcRM7DOZ\r\nMrwt02KDxsXZhZDla1zJZA8BS+fZ00HveGlb9g6mDCqzp32iYhuTQJ4LA6Bo\r\nhwQR3fcCbUjO8roqKFharGnNejvWzV9stISofy13zSf31v0b8HYFy3oX8kd4\r\n6b+3t9KuU0tN5j1OIB1bcfZZFZkwNz5j6DD5IbeY85OpyRsN0UNOIwSONh0C\r\nSe74MUi3BTX9ODNTZLVN3aD3+79yrnKdjXfZGSX9OVlpBedv/Yk3xeCPmnJS\r\nRoFMSmAtv4/rsTXVy6Q59HUJtaJc5/ZH4ZIOMkkZdbdSUcgwLKlyQPmZt67d\r\nXSluUDAoK9B8abM9vOjWEMfEgOxlkVwJal8Y2HwP8K+miYzmojV6kQHlxJwq\r\nUf11Aco9RVkrw4CqNgt92pwv5p7IjTQmqLkkgoFo+mOnrR1ZKsiXZcJXSeDH\r\nuNS3GST3y6kCaO7zg1uGtUYF8D0YpZx9WPKkwAcaGYKbe8tekKO/V/Fggd8q\r\nFQSSw8NLiY+lXAHWCrPhh6zPs9nAsPVFD1M=\r\n=VZzZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"2ea57c25f2d6346e667cbfcb0e692134624e154b","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.3","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.19.1","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","@types/express":"4","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.0.7_1680519390430_0.3140120423039132","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@amrc-factoryplus/utilities","version":"1.0.8","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.0.8","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"637e108b516dc0a1b415115eb026b57c681d6007","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.0.8.tgz","fileCount":47,"integrity":"sha512-pSnakabCRTs7AlRtjYPNM47BQLsN2XR7xrNXuKmBDf+iytsCU1m0pCmQXuUM8/yvk80PxabMLm7dIlG405r5Bg==","signatures":[{"sig":"MEUCIQDVo/8WFXoxGaJ6MFr4Cz+IflERDzQsscW7xWU5KjsBogIgfLodZDd0hpp2mTatY3k36qLyTBAEXsjjUG33G6k9ZxI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":225560},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"6eaaff14d6da9f91133ea4c1c597e3bebed5b37c","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.0","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","semver":"^7.5.1","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","@types/express":"4","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.0.8_1687948830051_0.11032265684860532","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@amrc-factoryplus/utilities","version":"1.0.9","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.0.9","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"4cf512014a392249cdb6d501f2cfb35ef8583083","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.0.9.tgz","fileCount":48,"integrity":"sha512-qG+s5SdrcS41zCKA2GDuQFGsfVDFnYbfEoHVTXGZsNn0S4Z+L0/5PYEuFPPt4aQZOxtQt3ALskkT69SlQitlTw==","signatures":[{"sig":"MEUCIEZ41DM0/Y2vfUTEZhaorgMR3cUBEMIYUNgc1nR9wygrAiEAv4tiNo++ecnCKf6VYgvuyV/PwJHP9x5CXNFqduvrRBk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":227739},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"cda6fa38b3d06f62058b8b86c93d43f260244e40","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.1","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","semver":"^7.5.1","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","@types/express":"4","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.0.9_1689082906212_0.39553123498049914","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@amrc-factoryplus/utilities","version":"1.1.0","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.1.0","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"36b4e7797f50a83981a39f853c1bcb8ffb8c3bc5","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.1.0.tgz","fileCount":49,"integrity":"sha512-Sbw2qeALIaD39FM6RgeSkGB1CXUeGFjJDdKzDw1rreOwtWale+ICvHwmfj1vtCqLuNPBQaKOZrtaAwDxV2ElHA==","signatures":[{"sig":"MEUCIHP03qBlmr/2ah6eBdZ4cfos3700D3B9aDQnpGr0sRedAiEA/KoqCJo1vSEB66fjvdSbbDb+eVO4Up2FoqvSj+M62t8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232738},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"d6d5fb3d0b6556bef789af93ce495b1d647ab8c7","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.7.3","cors":"^2.8.5","mqtt":"^4.3.5","semver":"^7.5.1","express":"^4.18.1","got-fetch":"^5.1.1","gssapi.js":"^2.0.1","pg-native":"^3.0.0","protobufjs":"^6.11.3","typescript":"^4.8.4","@types/long":"^4.0.0","@types/node":">=13.7.0","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","@types/express":"4","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.28.0"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.1.0_1698660429889_0.1828899958414969","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@amrc-factoryplus/utilities","version":"1.2.0","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.2.0","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"04263e6d7fdb83d1712b7de0d4c83b0fca458f23","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.2.0.tgz","fileCount":49,"integrity":"sha512-mLD03vnP0pc+XlroszHo8/JOe5G4HJdcaE2c3M0Mr/zPhg7srngw1YNFvx5vomE+/mLRtWNao9Xk2ztHlyLmTg==","signatures":[{"sig":"MEQCIEirdRCROIIYqeOdOlokOZmV2TAgQY2n7KlSEdh4nv9/AiBDKuA/QB2Z4p81rNlUVKG0Nufgfi0H8NncRYRP/4Dr1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232937},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"0c4267a8819e05ba11c63d77932779163c0a9a6d","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.2.0_1701692115229_0.8709843675096629","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@amrc-factoryplus/utilities","version":"1.2.1","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.2.1","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"6ae7037e1d34e0582c89ea646ab4fb4c93230964","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.2.1.tgz","fileCount":49,"integrity":"sha512-dwHL+ARAOetPCkctJs0fqfNDEq6wH4EVXhBgMZhzbji+xV/Cxctxp/3F3catTdYa9ZqlnEQhC4I8qRYwmcEvAg==","signatures":[{"sig":"MEQCIFlsslaOpf0b/aXVXM920wnG0iJMmC34Rt5tx9zUlwu1AiBXYebUaB2MB7hw0vlLSgvaaHe0pRIwfEO5EECnJGH6Lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232950},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"9b3bd359709a7475d414aa9452563a0683b5e3a7","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.2.1_1701692193076_0.609741050979095","host":"s3://npm-registry-packages"}},"1.2.2-rc2":{"name":"@amrc-factoryplus/utilities","version":"1.2.2-rc2","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.2.2-rc2","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"bc89d90ea21bcb2d1254e4cf8dcb44df95e80e0e","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.2.2-rc2.tgz","fileCount":49,"integrity":"sha512-YrqlNxorq11mYgWxS5I0qFOYSHcSv6a7McDhiL61TFFj0oqknftiqvkKUkVscdOIDejZFi1NeP2BYTNm9bFqtw==","signatures":[{"sig":"MEUCIQCcm2fWpW1nQXh6ZtlMIDj2CQEqL3L9xn0tCRt0VzBTFAIgJRPanimXkeYD7VIV2ytJyI8eBzhXpBo+W8pv4qQm2YU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":231957},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"109ea78453369098803a46f1ab2903367266fd06","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.2.2-rc2_1701693268598_0.0017010463386675223","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@amrc-factoryplus/utilities","version":"1.2.2","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.2.2","maintainers":[{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"ba29a1c8bc196db87b5cf5a3832d6f21f0b033f6","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.2.2.tgz","fileCount":49,"integrity":"sha512-PcUlQaRP9GN8ZBFXTgMRsGdr96nsCrixrWeh6DxuQA79ZKcqbp+C9CNC4BWK1V2KT2+lg2gdkRjEd+vHvMUYRA==","signatures":[{"sig":"MEYCIQDkNtn6Tru7ZQI8IjK6PBiuPuahect+R/Cb4uZOR4+hvAIhAI6eYlOkt6ugTo+225E4O2Fq2LPqDgn5mEIRwE8m3u1g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":231953},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"109ea78453369098803a46f1ab2903367266fd06","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.2.2_1701693775142_0.3202463420846797","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@amrc-factoryplus/utilities","version":"1.3.0","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.3.0","maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"d0b0d2342d1d945e182f6d6881b3650e6f36d53e","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.3.0.tgz","fileCount":50,"integrity":"sha512-TOVLGoL9lSyfryG+KI96+qBWhSouVO3Q9/bGNlsaavaOlE6PBcBefq0UmvdoaEgWxzA7iplqmu4AUBWwtUeApA==","signatures":[{"sig":"MEUCIQDygIG0nn/7GVX/3Jsu0Dhq/y/fAFhUAQx0IG5LuFbVyAIgQgaDPhuxIAvApLNP40gW+R7aXyogHwvdBHc945w0L+c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237083},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"df59d08c59ca586cce65bbc97bac98a62e106ca8","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.3.0_1704982444437_0.43915553783358496","host":"s3://npm-registry-packages"}},"1.3.1-dev.1":{"name":"@amrc-factoryplus/utilities","version":"1.3.1-dev.1","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.3.1-dev.1","maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"a207dce0e0654983ff21bf0da7fc6f56e986ed80","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.3.1-dev.1.tgz","fileCount":50,"integrity":"sha512-jEOmSSD3qseH2BOekFVSoZtpDtcaonu0+BDVzBcer7beilusOIPEys+8HgP81rvi1c8KBwm/hTNtA/YlK91prA==","signatures":[{"sig":"MEYCIQD+u0vgk8OjnoEUMsYszFhoq+d5FA/flEDK2OdTqYKiOwIhAKW5bxkbIUjwoDKZnnoBy3WN2b3IQqnc3amVq+julLFW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237922},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"11e71474735bba897f199047a55f3610e29215ae","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.3.1-dev.1_1706606779715_0.5139068209112656","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@amrc-factoryplus/utilities","version":"1.3.1","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.3.1","maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"476b3dcd533b12d1ada3d30bd25bdd53b566cade","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.3.1.tgz","fileCount":50,"integrity":"sha512-gdkGWIJLkjzqwSWBS1F9sw26RwJEhxcCvU5sMD0K39Z/fjmaSc43qtvHGgg1dPZUkbG0XuziOLzCIPG+q9aMBg==","signatures":[{"sig":"MEYCIQDUEFa8m8ktjbADU7sZ1yd6MZwc6RkOmGdL+EJLKw75lgIhAIv3EZyHWXsMVU2J75rMsdwGxN7DIHcRRZdDBXguDBet","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237916},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"11e71474735bba897f199047a55f3610e29215ae","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.3.1_1706614466061_0.49603990338271586","host":"s3://npm-registry-packages"}},"1.3.2-dev.1":{"name":"@amrc-factoryplus/utilities","version":"1.3.2-dev.1","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.3.2-dev.1","maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"9880605e179f096bb3d007969ad6d7e1783b3682","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.3.2-dev.1.tgz","fileCount":50,"integrity":"sha512-VFcQPCk2JzbYkjiUw5PxiIw9qVWVwYa/LiDTbzKEd+2koGSRADtFx5B3zcGJCH8SJ7JlWoXpbPOGR/7Xb+9VMA==","signatures":[{"sig":"MEQCIGJQbNb5mtUS5+n2F95gTCs33c+2wNZ/bZZzn1Fu1/XwAiBL6orpZOLXLjQJP2K6nKGnnYvi31W/ZIDRVkvyfi4tcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237831},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"6cd0448d6a9a3f86f312846f51de384f3f4784da","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.3.2-dev.1_1706716729631_0.6827108978409462","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"@amrc-factoryplus/utilities","version":"1.3.2","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.3.2","maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"9328ceb460e463a49a0e3e28752e12a19722f0c2","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.3.2.tgz","fileCount":50,"integrity":"sha512-ypY0gQdC/nrE3Top1bvsiC996Lu8cKdpmeqP/N2DYPT0DkPthFdL9+3Qg/n5Cb42Weogv+cdYPi8nlBtjSzjeg==","signatures":[{"sig":"MEUCICmrRX3tRCx0oG5prgN9tC0MhBtCrJPUDg2BTFSwOz8nAiEA6/dc0kgQxmn9b67xGk5Vt3EUc/g3GJVVmsrSvmuHljA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237825},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"6cd0448d6a9a3f86f312846f51de384f3f4784da","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.3.2_1706719408148_0.18467178777500481","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@amrc-factoryplus/utilities","version":"2.0.0","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@2.0.0","maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"6304682d005a3ff1371fa3f7d3199cd7446d9213","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-2.0.0.tgz","fileCount":35,"integrity":"sha512-FkiGiZRWs2ehswy+jUHy7XDPDSILFAJjNLC/PseLEkEGuo5t/6XKd0KKx1NOSVrhHeJWTPkKRdC8v0dF4g6DDQ==","signatures":[{"sig":"MEYCIQCA6wUizLVyp89afYtOsKFEApN5toHLNBq09vH5R+tT6gIhAMQvakIXp0Vxxdd8n+IdWr6oyPhVqx2+Trjd8dodk0rw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178530},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"48b58d7b77fec63a118c1ce4b850322825fdb81b","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","semver":"^7.5.4","express":"^4.18.2","pg-native":"^3.0.1","http-errors":"^2.0.0","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","@amrc-factoryplus/service-client":"^1.3.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_2.0.0_1712236273528_0.28832538828151955","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"@amrc-factoryplus/utilities","version":"1.3.3","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"author":{"name":"AMRC"},"license":"MIT","_id":"@amrc-factoryplus/utilities@1.3.3","maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"dist":{"shasum":"c56011601171df4855318e595ed17917bdfe263a","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.3.3.tgz","fileCount":50,"integrity":"sha512-7hsEmQD2JSXy8y8RTNPhWx3Z2MY0UmduRB60GievYql0+cnBfm4k+hpqTXM7n8KHHeY0Ai4agrhIEhSvbKMocw==","signatures":[{"sig":"MEUCIEYujg4M9P6biQdAT4o+rzV/eDpTE+BtG+xKxwris3IBAiEAu0XIuUgaPPGYQM0vjlZa6fyqtnjPRPaoVmVMfe4Qda4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237892},"main":"lib/index.js","type":"module","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"a95d6b268e6e9a2fa16104ac6ddc2853fb034cff","scripts":{},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"_npmVersion":"8.19.4","description":"A collection of NodeJS utilities for developing components for Factory+","directories":{"doc":"docs","lib":"lib"},"_nodeVersion":"16.20.2","dependencies":{"pg":"^8.11.3","cors":"^2.8.5","mqtt":"^5.1.4","semver":"^7.5.4","express":"^4.18.2","got-fetch":"^5.1.7","gssapi.js":"^2.0.1","pg-native":"^3.0.1","protobufjs":"^6.11.4","http-errors":"^2.0.0","optional-js":"^2.3.0","content-type":"^1.0.5","path-to-regexp":"^6.2.1","find-package-json":"^1.2.0","sparkplug-payload":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^4.9.5","@types/long":"^4.0.2","@types/node":"^20.8.10","@types/express":"^4.17.20"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/utilities_1.3.3_1725615840876_0.7618700408485033","host":"s3://npm-registry-packages"}},"1.3.4":{"name":"@amrc-factoryplus/utilities","version":"1.3.4","description":"A collection of NodeJS utilities for developing components for Factory+","author":{"name":"AMRC"},"license":"MIT","type":"module","main":"lib/index.js","types":"./types/index.d.ts","exports":{".":{"import":"./lib/index.js","require":"./lib/index.js","types":"./types/index.d.ts"}},"directories":{"doc":"docs","lib":"lib"},"scripts":{},"dependencies":{"content-type":"^1.0.5","cors":"^2.8.5","express":"^4.18.2","find-package-json":"^1.2.0","got-fetch":"^5.1.7","http-errors":"^2.0.0","mqtt":"^5.1.4","optional-js":"^2.3.0","path-to-regexp":"^6.2.1","pg":"^8.11.3","protobufjs":"^6.11.4","semver":"^7.5.4","sparkplug-payload":"^1.0.3","gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"optionalDependencies":{"gssapi.js":"^2.0.1","pg-native":"^3.0.1"},"keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"devDependencies":{"@types/express":"^4.17.20","@types/long":"^4.0.2","@types/node":"^20.8.10","eslint":"^8.52.0","typescript":"^4.9.5"},"gitHead":"c14564fafc1b5fd772b4bb2b4c3b3a3388a491bb","_id":"@amrc-factoryplus/utilities@1.3.4","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-z5BZRYQcxTgUbOSsm5+XyWr2h0+xqgppY1kRbj+YW8Q3zdFa7UmhDV/DyGAFar7kzPlhGMAKvomccCqmXfKoeA==","shasum":"cd1761ce5c8b886711b751e89ccbc869df85f39c","tarball":"https://registry.npmjs.org/@amrc-factoryplus/utilities/-/utilities-1.3.4.tgz","fileCount":50,"unpackedSize":237891,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdncDGNwKq1X5OSnudbiLaL3uE5+FMbjJ5XHhc2+QhQAIgNW9xTZ3LPRsJF2P5mfSzYR69TWu2P7fbEZ1iMphRX9M="}]},"_npmUser":{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"},"maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/utilities_1.3.4_1725616246790_0.7507840408485347"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-30T08:14:45.873Z","modified":"2024-09-06T09:50:47.188Z","1.0.0":"2023-03-30T08:14:46.119Z","1.0.3":"2023-03-30T08:24:43.883Z","1.0.4":"2023-03-30T08:34:57.252Z","1.0.5":"2023-03-30T08:50:32.909Z","1.0.6":"2023-03-30T09:58:47.901Z","1.0.7":"2023-04-03T10:56:30.590Z","1.0.8":"2023-06-28T10:40:30.203Z","1.0.9":"2023-07-11T13:41:46.431Z","1.1.0":"2023-10-30T10:07:10.212Z","1.2.0":"2023-12-04T12:15:15.431Z","1.2.1":"2023-12-04T12:16:33.339Z","1.2.2-rc2":"2023-12-04T12:34:28.784Z","1.2.2":"2023-12-04T12:42:55.441Z","1.3.0":"2024-01-11T14:14:04.618Z","1.3.1-dev.1":"2024-01-30T09:26:19.946Z","1.3.1":"2024-01-30T11:34:26.203Z","1.3.2-dev.1":"2024-01-31T15:58:49.808Z","1.3.2":"2024-01-31T16:43:28.307Z","2.0.0":"2024-04-04T13:11:13.691Z","1.3.3":"2024-09-06T09:44:01.063Z","1.3.4":"2024-09-06T09:50:46.982Z"},"author":{"name":"AMRC"},"license":"MIT","keywords":["amrc","factory-plus","factoryplus","acs","amrc-connectivity-stack","mqtt","sparkplug"],"description":"A collection of NodeJS utilities for developing components for Factory+","maintainers":[{"name":"amrc-benmorrow","email":"b.morrow@amrc.co.uk"},{"name":"alex-godbehere","email":"alex.godbehere@amrc.co.uk"}],"readme":"> **Note**\n> The AMRC Connectivity Stack is an open-source implementation of the AMRC's [Factory+ Framework](https://factoryplus.app.amrc.co.uk/).\n\nThis is a NodeJS library for writing clients for Factory+. It was used extensively when building the AMRC Connectivity Stack.\n\n## Getting Started\n\nBecause this library has native code dependencies, the easiest way to use it from your code is to base your container image on the Docker images that we provide.\n\nStart a new project by running\n\n```bash\nnpm init -y\n```\n\nthen follow the instructions, creating a new `Dockerfile` instead of updating an existing one.\n\n### Updating your Dockerfile\n\nIf your code currently has a basic Node.js Dockerfile which looks like this:\n\n```dockerfile\nFROM node:lts-alpine\n\nRUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app\nWORKDIR /home/node/app\n\nCOPY package*.json ./\nUSER node\nRUN npm install --save=false\n\nCOPY --chown=node . .\n\nCMD npm start\n```\n\nthen you need to replace it with one which looks like this, setting `utility_ver` to the desired version:\n\n```dockerfile\nARG utility_prefix=ghcr.io/amrc-factoryplus/utilities\nARG utility_ver=v1.0.6\n\nFROM ${utility_prefix}-build:${utility_ver} AS build\n\n# Install the node application on the build container where we can\n# compile the native modules.\nRUN install -d -o node -g node /home/node/app\nWORKDIR /home/node/app\nUSER node\nCOPY package*.json ./\nRUN npm install --save=false\nCOPY . .\n\nFROM ${utility_prefix}-run:${utility_ver}\n\n# Copy across from the build container.\nWORKDIR /home/node/app\nCOPY --from=build --chown=root:root /home/node/app ./\n\nUSER node\nCMD npm start\n```\n\nThis makes the following changes from the original:\n\n* The build is now multi-stage, because we need compilers and so on for the build stage which we don't need at runtime.\n  This means that we do most of the building in one container, and then just copy the results across into a fresh\n  container at the end.\n\n* Both stages of the build are based on the Docker images provided for this library. These images include the tools\n  needed to build the library and the native libraries needed to run it. They also set up npm to reference the NPM\n  registry for `@amrc-factoryplus` packages.\n\n* The build stage runs the build as user `node`, but the code is copied across to the run stage owned by `root`. This\n  improves security but may cause problems if your app assumes it can write to its working directory. This is, in\n  general, a bad Idea for a Docker container (you should be writing to a volume probably), but if necessary the commands\n  can be adjusted to change the permissions.\n\nIf you have a more complicated Dockerfile you will need to adjust this appropriately. Try to do as much work as possible\nin the build container, and then just copy the results across into the runtime container. This will make the final\nimages smaller.\n\n### Adding to `package.json`\n\nYou now need to add the following entry to your `package.json`:\n\n```\n{\n    \"dependencies\": {\n        \"@amrc-factoryplus/utilities\": \"^1.0.0\"\n    }\n}\n```\n\nThe library will install on Windows; however we do not have access to the GSSAPI libraries on Windows so most of the\nfunctionality will not work. However this allows `npm update` to work at least.\n\n## Using the package\n\nThis module is an ESM-only module; it cannot be loaded with `require`. If you are writing ESM code (if you\nhave `\"type\": \"module\"` in your`package.json`, or if you are using `.mjs` file extensions) then you can load the module\nlike this:\n\n```js\nimport * as factoryplus from \"@amrc-factoryplus/utilities\";\n\n// or\n\nimport { WebAPI } from \"@amrc-factoryplus/utilities\";\n```\n\nIf you are using CommonJS (using `require` to load modules) you will need to use:\n\n```js\nconst factoryplus = await import(\"@amrc-factoryplus/utilities\");\n```\n\nBe aware that because you can't do top-level `await` in CommonJS you will need to call this from within an `async` function. \n\nIf you are using Typescript then the ESM import should work fine. There are currently no `.d.ts` files; feel free to submit a PR 😀!\n\n## Exports\n\n### Third-party libraries\n\n```js\nimport { MQTT, GSS, Pg, SpB, fetch } from \"@amrc-factoryplus/utilities\";\n```\n\nThese are re-exports of third party modules. They are re-exported here partly to provide protection from future changes to the third-party modules, and partly to work around bugs or problems with importing.\n\n- [Full Third-Party Library Documentation](./docs/deps.md)\n\n### Database access\n\n```js\nimport { DB } from \"@amrc-factoryplus/utilities\";\n```\n\nA class for accessing a Postgres database. Provides basic transaction/retry support on top of the `pg` module.\n\n- [Full Database Documentation](./docs/db.md)\n\n### Logging\n\n```js\nimport { Debug } from \"@amrc-factoryplus/utilities\";\n```\n\nConfigurable logging support.\n\n- [Full Debug/Logging Documentation](./docs/debug.md)\n\n### Factory+ Service Client\n\n```js\nimport { ServiceClient } from \"@amrc-factoryplus/utilities\";\n```\n\nThis provides client access to the Factory+ service framework, including automatic support for service discovery and GSSAPI authentication.\n\n- [Full Service Client Documentation](./docs/service-client.md)\n\n### Sparkplug support\n\n```js\nimport { \n    Address, Topic,\n    MetricBuilder,\n    MetricBranch, MetricTree,\n} from \"@amrc-factoryplus/utilities\";\n```\n\nUtility classes for working with Sparkplug packets.\n\n- [Full Sparkplug Utility Class Documentation](./docs/sparkplug-util.md)\n\n### Miscellaneous utilities\n\n```js\nimport {\n    Version,\n    resolve, pkgVersion,\n    loadJsonObj, loadAllJson,\n} from \"@amrc-factoryplus/utilities\";\n```\n\n- [Full Miscellaneous Utility Documentation](./docs/util.md)\n\n### Well-known UUIDs\n\n```js\nimport { UUIDs } from \"@amrc-factoryplus/utilities\";\n```\n\nConstants representing well-known UUIDs. For more information on the well-known UUIDs specified by Factory+ [refer to the Factory+ framework](https://factoryplus.app.amrc.co.uk).\n\n### Web API boilerplate\n\n```js\nimport { FplusHttpAuth, WebAPI } from \"@amrc-factoryplus/utilities\";\n```\n\nClasses useful in implementing an HTTP service confirming to the Factory+ spec.\n\n- [Full Web API Documentation](./docs/webapi.md)\n\n### Deprecated APIs\n\n```js\nimport { debug, secrets, gss_mqtt } from \"@amrc-factoryplus/utilities\";\n```\n\nThese are deprecated APIs.\n\n* `debug` has been replaced by the Debug object.\n* `secrets` provides support for reading from Docker secrets; since moving to Kubernetes this has been redundant.\n* `gss_mqtt` connects to an MQTT server with GSSAPI authentication. It is better to use a ServiceClient instead, as this will discover the MQTT server via the Directory.\n\n### Coding Style\n\n| Language | Standard |\n| -- | -- |\n| Javascript | [AirBnB](https://github.com/airbnb/javascript) |\n\n## Contributing\n\nDevelopment practice follows [GitHub flow](https://guides.github.com/introduction/flow/).","readmeFilename":"README.md"}