{"_id":"@objectql/platform-node","_rev":"26-8a087078dc72af3f9c95c53f80cd4dea","name":"@objectql/platform-node","dist-tags":{"latest":"4.2.2"},"versions":{"1.6.0":{"name":"@objectql/platform-node","version":"1.6.0","_id":"@objectql/platform-node@1.6.0","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"33995cd80bde4c8d35792672bed49d4b4f9f469f","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.6.0.tgz","fileCount":34,"integrity":"sha512-s+JDfbfZy3CWbx4lIa8wUl086O+a6C2dhkOZ1qIpGQOK8R14K0uC0dV8MmJ/g2xyAWLfFos0z9xdhAsRoLWUXg==","signatures":[{"sig":"MEYCIQDYKQ2EVFbeqtON2XDOJJf++qTX+4aQ3UEVZlFOCMXA4wIhAMh4g1bai6FSnNIfjfTkTORvYcp61UOM3KhADcF8EGQS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183074},"main":"dist/index.js","_from":"file:objectql-platform-node-1.6.0.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/ba93b915e355ceb0b8144a0060910dbf/objectql-platform-node-1.6.0.tgz","_integrity":"sha512-s+JDfbfZy3CWbx4lIa8wUl086O+a6C2dhkOZ1qIpGQOK8R14K0uC0dV8MmJ/g2xyAWLfFos0z9xdhAsRoLWUXg==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.6.0","@objectql/types":"1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.6.0_1768203055507_0.11058874577797795","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@objectql/platform-node","version":"1.6.1","_id":"@objectql/platform-node@1.6.1","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"9125050d012665178695d6489d7453dcc3e264d2","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.6.1.tgz","fileCount":34,"integrity":"sha512-SmL7Srq/o9L3N9pHQwhvh/9pZhLjxXatAMSFnekSV1KL7sHkn6XcXLrmTDkFmoXRQlTYOqs0yATJghCmQysj/A==","signatures":[{"sig":"MEQCID9Nyq7wb88y79ShfW3mpKH2kaVXd/Pa0/nGj7Xb3BNsAiAfWBmxpePmtag5p/kI238PN5zLGYjmqBl2lLB+UYAx0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183178},"main":"dist/index.js","_from":"file:objectql-platform-node-1.6.1.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/672a4076af5109abd907a90ed1cfc830/objectql-platform-node-1.6.1.tgz","_integrity":"sha512-SmL7Srq/o9L3N9pHQwhvh/9pZhLjxXatAMSFnekSV1KL7sHkn6XcXLrmTDkFmoXRQlTYOqs0yATJghCmQysj/A==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.6.1","@objectql/types":"1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.6.1_1768203757066_0.45797086169468115","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@objectql/platform-node","version":"1.7.0","_id":"@objectql/platform-node@1.7.0","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"f5cf5858e3ff7b0398b10c0d515fb218ff0005e1","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.7.0.tgz","fileCount":34,"integrity":"sha512-0HF85QetLJ5HHPPDMue7UlDH3uglxc3zIO4G+8Y1MxGSlTbdkmWFsM5b0uQfye/d+HaHfRWdmslfoh22BXh/ew==","signatures":[{"sig":"MEQCIAQrvCGH1dctSJzqZBTJGiYW/tFBmY4C7n9dOXY/2pk0AiArCq+etuHtdYYuFxAYtgPJVRXZ1fntxpWW0eKZNWC5GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183403},"main":"dist/index.js","_from":"file:objectql-platform-node-1.7.0.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/514c1f3d84365801b166c665ca57a21a/objectql-platform-node-1.7.0.tgz","_integrity":"sha512-0HF85QetLJ5HHPPDMue7UlDH3uglxc3zIO4G+8Y1MxGSlTbdkmWFsM5b0uQfye/d+HaHfRWdmslfoh22BXh/ew==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.7.0","@objectql/types":"1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.7.0_1768215436154_0.8693355675193415","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"@objectql/platform-node","version":"1.7.1","_id":"@objectql/platform-node@1.7.1","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"56296e1498d620c964c50cc2d0d3df5c54ac6ab8","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.7.1.tgz","fileCount":34,"integrity":"sha512-7yEcq9aaJrPkvE6KvpDTfF3UnC4YWfzwGfx5y1NHjs/LDCmrOUg6BJyd1OiwnwZ8j9RH3SmfMrBZkjaHU34zwg==","signatures":[{"sig":"MEYCIQCzpd3D1xkLFvaAGhvOph6oSjpH5F+qCMEO+s1JUVnpGgIhAMc6OrSsn9FDN3hbb12lsscp3Pp51Yd8zjqcRwSA7Dnv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183555},"main":"dist/index.js","_from":"file:objectql-platform-node-1.7.1.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/dce4ba7525d0122125c3a821e407b6be/objectql-platform-node-1.7.1.tgz","_integrity":"sha512-7yEcq9aaJrPkvE6KvpDTfF3UnC4YWfzwGfx5y1NHjs/LDCmrOUg6BJyd1OiwnwZ8j9RH3SmfMrBZkjaHU34zwg==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.7.1","@objectql/types":"1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.7.1_1768234154657_0.9582966669220903","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"@objectql/platform-node","version":"1.7.2","_id":"@objectql/platform-node@1.7.2","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"8520998687d9849081cc192627d85df95f21844d","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.7.2.tgz","fileCount":34,"integrity":"sha512-e78bHQJAFBiYhwtVGW8ccFWtEnwD/r2FuDjC/cfn/6lG2quHqvaZ/l2D2qO6tp+XcHNEf5qtDTCVZP/rDludQw==","signatures":[{"sig":"MEYCIQDxGwLyUWOIqmsFCBVH1IGy3Jj92CFlR+R00uYZapzQlwIhAK/QwwR7+bdQvVd75jJX4kEqBLSDzQ4jFwBi4uhPY19N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183689},"main":"dist/index.js","_from":"file:objectql-platform-node-1.7.2.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/5157e4d51c2c7615378a8dcdfde6dbb9/objectql-platform-node-1.7.2.tgz","_integrity":"sha512-e78bHQJAFBiYhwtVGW8ccFWtEnwD/r2FuDjC/cfn/6lG2quHqvaZ/l2D2qO6tp+XcHNEf5qtDTCVZP/rDludQw==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.7.2","@objectql/types":"1.7.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.7.2_1768237328330_0.23233379392320197","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"@objectql/platform-node","version":"1.7.3","license":"PolyForm-Shield-1.0.0","_id":"@objectql/platform-node@1.7.3","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"3cb7bd6120c4444c4d6037a419afc0b9c1395ef1","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.7.3.tgz","fileCount":34,"integrity":"sha512-k8FQufApfj+TmmkDwNfJ1BSi5x31G06YnkRpwlV21YJ/ja7RAtZeH/jDibz3ZU3VWIJ5izL2kz3bfD7P2Otoxg==","signatures":[{"sig":"MEYCIQDCDFNN6a6os/rNvisWdbG7a7wRnVHddHZ1BGVKaQgbkwIhAJ88uOk6Q8YgxG/NeOaG/Cup4YQAhvEQcqHCVaHZyUaG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197245},"main":"dist/index.js","_from":"file:objectql-platform-node-1.7.3.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/5f3df148eceae2ab547977703cfa03b6/objectql-platform-node-1.7.3.tgz","_integrity":"sha512-k8FQufApfj+TmmkDwNfJ1BSi5x31G06YnkRpwlV21YJ/ja7RAtZeH/jDibz3ZU3VWIJ5izL2kz3bfD7P2Otoxg==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.7.3","@objectql/types":"1.7.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.7.3_1768293743357_0.5022230228459275","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@objectql/platform-node","version":"1.8.0","license":"MIT","_id":"@objectql/platform-node@1.8.0","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"7d46938fac42a3b0abf62af57ad67c66db507cd0","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.8.0.tgz","fileCount":34,"integrity":"sha512-O0J2hB2t0XTCIbPgnxcZfPY0qMPuNl+mhrGCveWkupWcJxdKAba4OEPwbzIL7C96CgcGIXFB/5fKZIZpf9w51A==","signatures":[{"sig":"MEQCID9iy0mhLcOlCSARZJPlzqMy+aJgvPXWu5bhqi2ATv7wAiALbLUdvkLBU91n5+5jVPflp6ZAFSnp50FZJJJTUXEb5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194382},"main":"dist/index.js","_from":"file:objectql-platform-node-1.8.0.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/f60d069c35e9ff50cc23a6aec8fd95fa/objectql-platform-node-1.8.0.tgz","_integrity":"sha512-O0J2hB2t0XTCIbPgnxcZfPY0qMPuNl+mhrGCveWkupWcJxdKAba4OEPwbzIL7C96CgcGIXFB/5fKZIZpf9w51A==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.8.0","@objectql/types":"1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.8.0_1768382736937_0.8946215035887672","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@objectql/platform-node","version":"1.8.1","license":"MIT","_id":"@objectql/platform-node@1.8.1","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"34116a634cdda98365ced3d85979ce81085648d3","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.8.1.tgz","fileCount":34,"integrity":"sha512-PngXcyJK3eVZeDV1gvFWf4OWA/1DtlfHrU2lf97dsUFIJQfFZdxLJ7J0LF0w3e4DmbnaJrUKRuAwcPA55kQUIA==","signatures":[{"sig":"MEUCIQCmPDid+gHOlN0s7Wx5Hk0XhLDMkYBZAgwUXHhYQT5LCAIgZ38nPZODwehq4HP5VL8T0vIZ+5JSMbcXnp2dsCMBjbo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194543},"main":"dist/index.js","_from":"file:objectql-platform-node-1.8.1.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/193b7dd6da02f7d391d942a1351fc3b3/objectql-platform-node-1.8.1.tgz","_integrity":"sha512-PngXcyJK3eVZeDV1gvFWf4OWA/1DtlfHrU2lf97dsUFIJQfFZdxLJ7J0LF0w3e4DmbnaJrUKRuAwcPA55kQUIA==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.8.1","@objectql/types":"1.8.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.8.1_1768389126815_0.02413497436526746","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"@objectql/platform-node","version":"1.8.2","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@1.8.2","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"7c72123a1b218dc9982af7368938e45c207842ba","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.8.2.tgz","fileCount":34,"integrity":"sha512-WEPG3yMFTeSbKhHmjtykNyZ7fHIQWfp7rwCDalr8Py4W1pSJCeGpgAqP+wesGCnv9xsbiry22BZ+xa2oiCMabQ==","signatures":[{"sig":"MEQCIFF+6uJyc1Dpo0b7kTa/4b3dlTea2+5tO1buaV8rzIPZAiAbjpKpsWLmDqOTA7w8ZHab1ObKbkanEM7u47KuT8MbFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195114},"main":"dist/index.js","_from":"file:objectql-platform-node-1.8.2.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/d2a44bea6830cffbcad9ea2e12bc7cc8/objectql-platform-node-1.8.2.tgz","_integrity":"sha512-WEPG3yMFTeSbKhHmjtykNyZ7fHIQWfp7rwCDalr8Py4W1pSJCeGpgAqP+wesGCnv9xsbiry22BZ+xa2oiCMabQ==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.8.2","@objectql/types":"1.8.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.8.2_1768412714686_0.466302487768806","host":"s3://npm-registry-packages-npm-production"}},"1.8.3":{"name":"@objectql/platform-node","version":"1.8.3","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@1.8.3","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"bf8cc9ad72912d2f26ef6a29a1f684a619338d72","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.8.3.tgz","fileCount":34,"integrity":"sha512-JmToOdo3pIj52nzDvOujYNoQfAQ+O/BLEmaJvwH+xB8wBd6Zemk9PA08kPvZLdo5xH3NaFmWemFos1YUNgIyjA==","signatures":[{"sig":"MEUCIC3GoxSl3xncSYcmNdKjCzwFdlUnYcoQyjvJ+cGm1hmsAiEA1jD25hbVVfpub4GO+amyq6wGFE2pPJGhO+5X4lcAnSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195437},"main":"dist/index.js","_from":"file:objectql-platform-node-1.8.3.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/8cd22b71da08e0fabcb6019af4277579/objectql-platform-node-1.8.3.tgz","_integrity":"sha512-JmToOdo3pIj52nzDvOujYNoQfAQ+O/BLEmaJvwH+xB8wBd6Zemk9PA08kPvZLdo5xH3NaFmWemFos1YUNgIyjA==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.8.3","@objectql/types":"1.8.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.8.3_1768421022414_0.5211236774432824","host":"s3://npm-registry-packages-npm-production"}},"1.8.4":{"name":"@objectql/platform-node","version":"1.8.4","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@1.8.4","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"f8e9944248a20a17d392dc789eb003268a3e409b","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.8.4.tgz","fileCount":29,"integrity":"sha512-Q5JIuB8s53r48VO35WgcAwQnmf4d3TQcHDq0TGRpmtSqRH5vGqQyJYy5zdNeGN1QLsPi7BZ8YHJFaACnDmoxDA==","signatures":[{"sig":"MEYCIQCSznaOdLEDH0m3HVtczp1OJwKcFXaHV9AOR6Vho76wEQIhAJF4PPXo8ubQJte5bhe4Ts5luDBgH8h7Syr9QBGbBpue","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187648},"main":"dist/index.js","_from":"file:objectql-platform-node-1.8.4.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/27cddda7602d37b6b7804dc6586274be/objectql-platform-node-1.8.4.tgz","_integrity":"sha512-Q5JIuB8s53r48VO35WgcAwQnmf4d3TQcHDq0TGRpmtSqRH5vGqQyJYy5zdNeGN1QLsPi7BZ8YHJFaACnDmoxDA==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.8.4","@objectql/types":"1.8.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.8.4_1768454261076_0.2633505601923438","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@objectql/platform-node","version":"1.9.0","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@1.9.0","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"7272345c42934ef4931e9d0a7f01086efa185812","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.9.0.tgz","fileCount":33,"integrity":"sha512-YoAhtzq24G7yCP93vFhoemWnl3UAViRSlQRwncoUKesd2+vGkLVjisFgKbLjONXDIPhVGadBHOjhfAPgbUq6cw==","signatures":[{"sig":"MEQCICmwLDolBWwJ3uSY4/SnCrQ8D8HfYF5TmDMTb6ueMpH7AiBfrD7fyDmPDMWQoW0Lyz8oQ+nZuuhtOtgc/tRTSyaXLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198046},"main":"dist/index.js","_from":"file:objectql-platform-node-1.9.0.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/90f44998217c33dd7ebb11610b0b6580/objectql-platform-node-1.9.0.tgz","_integrity":"sha512-YoAhtzq24G7yCP93vFhoemWnl3UAViRSlQRwncoUKesd2+vGkLVjisFgKbLjONXDIPhVGadBHOjhfAPgbUq6cw==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.9.0","@objectql/types":"1.9.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.9.0_1768541020367_0.5419742559767564","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"@objectql/platform-node","version":"1.9.1","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@1.9.1","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"d36f28aa988393f7643e6e9e5904a99dbfd23ed3","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-1.9.1.tgz","fileCount":33,"integrity":"sha512-rtAao3tEPSGlXUW/jLgxP6BJkXtyKHjOqo3kXhVSvV8Q38jTO76XrhIgO6SxgyQIHIzycn37uYvuGCKsjesv1Q==","signatures":[{"sig":"MEUCIQDHqzvtYTQWHl3fvJxsuLXSxmMxkIpHlz1SKIrh5mO6/AIgVvR0CwlP9FKpMeyGKXEMYL9GBJSk8lM5kznQljTsc7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198212},"main":"dist/index.js","_from":"file:objectql-platform-node-1.9.1.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/7b32611d27eda58beb6d81f9bb671005/objectql-platform-node-1.9.1.tgz","_integrity":"sha512-rtAao3tEPSGlXUW/jLgxP6BJkXtyKHjOqo3kXhVSvV8Q38jTO76XrhIgO6SxgyQIHIzycn37uYvuGCKsjesv1Q==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"1.9.1","@objectql/types":"1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_1.9.1_1768573863166_0.34218889047514467","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@objectql/platform-node","version":"3.0.0","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@3.0.0","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"faaabc7d163a791e2428e2e01895e28209052f1d","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-3.0.0.tgz","fileCount":33,"integrity":"sha512-BaRcRQBNFCgqaOhwc2pPGH3SkBdStwCbh5KGvttX6vO8ekd8hlZFw40Jfb7tHjRJq4kISQjIUxTqBe3OvIH1wQ==","signatures":[{"sig":"MEUCIBALMZfwfTJieHhqEMI3DvMzafyhw7p143elGRNngG9RAiEAgGV3ONaGV4tsb5JsKHUwfTpV6zhFAUjbhiIi2DmU0tU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200035},"main":"dist/index.js","_from":"file:objectql-platform-node-3.0.0.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/888aa2131a77c40a09d9d7587f0e938b/objectql-platform-node-3.0.0.tgz","_integrity":"sha512-BaRcRQBNFCgqaOhwc2pPGH3SkBdStwCbh5KGvttX6vO8ekd8hlZFw40Jfb7tHjRJq4kISQjIUxTqBe3OvIH1wQ==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"3.0.0","@objectql/types":"3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_3.0.0_1768611948686_0.1390967524654907","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@objectql/platform-node","version":"3.0.1","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@3.0.1","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"552599c9833b3ef127df541b6d4dea9d5ee4069e","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-3.0.1.tgz","fileCount":33,"integrity":"sha512-iiWAwtV+W7WodR1Devhy9xHtl1f3gpKdNB6UmiGoBw7XHA3F/D88igCFf5BcaIVhmAkkrUqbtkuo1WmULFmLsg==","signatures":[{"sig":"MEUCIQC1qgPG4XmQeZvYofJHVkWXm9e/0wOoF3zcT0V74Tbd3gIgSVus9euQOPQ8oxt09QSq5FRH7Ctb3RCeKLHcmO2WGFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200899},"main":"dist/index.js","_from":"file:objectql-platform-node-3.0.1.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/878f8139c783c46f8990998778843e39/objectql-platform-node-3.0.1.tgz","_integrity":"sha512-iiWAwtV+W7WodR1Devhy9xHtl1f3gpKdNB6UmiGoBw7XHA3F/D88igCFf5BcaIVhmAkkrUqbtkuo1WmULFmLsg==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"3.0.1","@objectql/types":"3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_3.0.1_1768633069307_0.9823983346909162","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@objectql/platform-node","version":"4.0.0","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.0.0","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"e3094681090286685e63f76e3653d76d73d14673","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.0.0.tgz","fileCount":35,"integrity":"sha512-8rUV+dMAwV2riEPS0zfTOi3ZU44A0SxN6MnXRhehZz+TBZgUnFABr3ZbjAigyS2M07ZwG12TuqLi59+EKGxD1g==","signatures":[{"sig":"MEQCIFzwa3b3Gw2D4Fh/mS6RYCj2C1Rp33DBjacSwre994gyAiBO+PjC87BBBQkWlP9c+SeCdpihtK3CqzMjZib6M0mIhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227689},"main":"dist/index.js","_from":"file:objectql-platform-node-4.0.0.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/3f0dda0336fa54732bf2abeaa2e266e1/objectql-platform-node-4.0.0.tgz","_integrity":"sha512-8rUV+dMAwV2riEPS0zfTOi3ZU44A0SxN6MnXRhehZz+TBZgUnFABr3ZbjAigyS2M07ZwG12TuqLi59+EKGxD1g==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.0.0","@objectql/types":"4.0.0","@objectstack/spec":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.0.0_1769167105144_0.4633265142796197","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@objectql/platform-node","version":"4.0.1","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.0.1","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"4fe393db02dfe62629363e510be532d0312fdc37","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.0.1.tgz","fileCount":35,"integrity":"sha512-x45+GpzoV5K2JsP8pDZeXPn1UC9EFBfaRNssOdtfYvOHiZ6aqz2z7N6zuTLO3V7YMsD0+1XgfuSJETRCj8c5IA==","signatures":[{"sig":"MEMCHyQwwj8tzUL/Vy3w7KexRl+ttXSR7HCIeyqUTOpbo7ACIEnqocKjxe24mDJ4yV9w7eFQjq9AAz5bc3qLN51VZdS1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244668},"main":"dist/index.js","_from":"file:objectql-platform-node-4.0.1.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/e48f6b1a647c49a26b750e1003e32aac/objectql-platform-node-4.0.1.tgz","_integrity":"sha512-x45+GpzoV5K2JsP8pDZeXPn1UC9EFBfaRNssOdtfYvOHiZ6aqz2z7N6zuTLO3V7YMsD0+1XgfuSJETRCj8c5IA==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.0.1","@objectql/types":"4.0.1","@objectstack/spec":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.0.1_1769251455337_0.16442042797485468","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@objectql/platform-node","version":"4.0.2","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.0.2","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"f9d6b3569d9f469110e1dd66db793d9a369309eb","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.0.2.tgz","fileCount":35,"integrity":"sha512-j+1mPt8sbrN+nU6C7oS4uwwekhXNA8QnkuiFEbwWzP8Dro3QTN9c308NEQwa768THnKaK44EpSwNh6BDqkIKrQ==","signatures":[{"sig":"MEQCIC41rXd36DZ5GvD2crMka29FRkNgjjyGJ8ObgJvu5AJNAiAlrr6d9m5bOAlB7PSFA1ToQTgbyqdHdBQBCbqaWY/e5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248169},"main":"dist/index.js","_from":"file:objectql-platform-node-4.0.2.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/3fedf8a6422cd8505a82609440786f32/objectql-platform-node-4.0.2.tgz","_integrity":"sha512-j+1mPt8sbrN+nU6C7oS4uwwekhXNA8QnkuiFEbwWzP8Dro3QTN9c308NEQwa768THnKaK44EpSwNh6BDqkIKrQ==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.0.2","@objectql/types":"4.0.2","@objectstack/spec":"^0.3.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.0.2_1769499878164_0.665645813796564","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"@objectql/platform-node","version":"4.0.3","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.0.3","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"0a50feff939c8cd559a3d2dd83632ba4a25bb64c","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.0.3.tgz","fileCount":37,"integrity":"sha512-gHsR/K2vDmtXK+G1/bUwLtJxEtsvKXl6uFi7fgRZmjGcdBg/cZ4YqKIDimFLTbBko5/llo2SbfiCxrVcRxlCJA==","signatures":[{"sig":"MEUCIHJtYUKMXoWv25myeKLeWYHzU4T/ffKLQftsQlICDtrvAiEAibWu2TfIyen/YlMkyeteIN6dRsjbH6MQbQUBcNEQegU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256046},"main":"dist/index.js","_from":"file:objectql-platform-node-4.0.3.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/4fb9675c59b3744a4cce13219f9f0537/objectql-platform-node-4.0.3.tgz","_integrity":"sha512-gHsR/K2vDmtXK+G1/bUwLtJxEtsvKXl6uFi7fgRZmjGcdBg/cZ4YqKIDimFLTbBko5/llo2SbfiCxrVcRxlCJA==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.0.3","@objectql/types":"4.0.3","@objectstack/spec":"^0.8.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.0.3_1769954526076_0.03313526715261861","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"@objectql/platform-node","version":"4.0.4","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.0.4","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"0db2868d82bf25d70669ca8ead4544a3127d1394","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.0.4.tgz","fileCount":37,"integrity":"sha512-hqjautgzd8gusm3G5mU7RF0E40loAOBRyJdalKpU2dxqqsg/2CqXQ6SdKBqtMbzXSTsQtLJhQiQzCCDPd6YAfg==","signatures":[{"sig":"MEQCIDhXmG7yRQrdiKpP68vRHlX2ehvX50ij41DNof6fkNcTAiBy74iimFDbPUW4YnwpVn8g3XBt9uxZ+CEfqrd1hZXoag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257391},"main":"dist/index.js","_from":"file:objectql-platform-node-4.0.4.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/d1b665e7fe35d3b3c45060d55d6ab064/objectql-platform-node-4.0.4.tgz","_integrity":"sha512-hqjautgzd8gusm3G5mU7RF0E40loAOBRyJdalKpU2dxqqsg/2CqXQ6SdKBqtMbzXSTsQtLJhQiQzCCDPd6YAfg==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.0.4","@objectql/types":"4.0.4","@objectstack/spec":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.0.4_1770029817102_0.31326629466101164","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"@objectql/platform-node","version":"4.0.5","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.0.5","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"7f5190826b9a93e28f002a00e8297ed215e6260d","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.0.5.tgz","fileCount":37,"integrity":"sha512-PaWV7JFG7q0DTS78Rz5M0TJijSLjLQA2kkSSifmgvoPjdzoyB9YEhA8fIvwfBXOZyutHuPfZj5ZjdaGTHFT8qg==","signatures":[{"sig":"MEQCIBCWqWKJa0FJDOfhfXIL9cTjCzs3wdQIp5je4tQc1gQxAiAfElYq9rBIwvkeqo6N9Za8ikbA9gOyOK14I2MTFwAFMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257556},"main":"dist/index.js","_from":"file:objectql-platform-node-4.0.5.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/bd8242762de01c518b149fe61438b33c/objectql-platform-node-4.0.5.tgz","_integrity":"sha512-PaWV7JFG7q0DTS78Rz5M0TJijSLjLQA2kkSSifmgvoPjdzoyB9YEhA8fIvwfBXOZyutHuPfZj5ZjdaGTHFT8qg==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.0.5","@objectql/types":"4.0.5","@objectstack/spec":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.0.5_1770032152659_0.7436316972544272","host":"s3://npm-registry-packages-npm-production"}},"4.0.6":{"name":"@objectql/platform-node","version":"4.0.6","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.0.6","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"b00d57371b43f2d3cc021f0cef904cb72096b52a","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.0.6.tgz","fileCount":37,"integrity":"sha512-InP/iPT4+hrxv7A6uT3+bujC++G+VSATHfL6SRRxmOTkqj9NQHBxMhTv288FSy6G8UeEz53o5pWgRCXJW4/9qA==","signatures":[{"sig":"MEUCIExpvkKVuqZYmoZbdQ0YGnjGQx8Zw/rzl4VHVWMElmNrAiEAk1h1I+bBAfQvWjbRuAce1lfahJTORTAj9xJVHZ117Io=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271766},"main":"dist/index.js","_from":"file:objectql-platform-node-4.0.6.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/865a4a882e4b616b7ed8f0fae88cb16d/objectql-platform-node-4.0.6.tgz","_integrity":"sha512-InP/iPT4+hrxv7A6uT3+bujC++G+VSATHfL6SRRxmOTkqj9NQHBxMhTv288FSy6G8UeEz53o5pWgRCXJW4/9qA==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.0.6","@objectql/types":"4.0.6","@objectstack/spec":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.0.6_1770258297340_0.003029223369450662","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@objectql/platform-node","version":"4.1.0","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.1.0","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"7b4d7a9bf4f5e0d9dbdf800960e440411cba15a9","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.1.0.tgz","fileCount":37,"integrity":"sha512-qzCOBqGyQpGr+OUbnm17Ck6X5XoeTTixWfwZwkR1Hr3jGNOkmzgqztdhkpnbXUZkNn/FdO9FcrCwfkBEIk37kQ==","signatures":[{"sig":"MEUCIQCNOpHWUsZLUqFT0fRnhf29Fg9OiI3qWIzzHguMLuJP2wIgVRxdnfqYhbHJa1sq/C10CWVSgB8+tdHlZ22SlglfNpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272024},"main":"dist/index.js","_from":"file:objectql-platform-node-4.1.0.tgz","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/ee9cd23346b719ea3e02285058cb5a4e/objectql-platform-node-4.1.0.tgz","_integrity":"sha512-qzCOBqGyQpGr+OUbnm17Ck6X5XoeTTixWfwZwkR1Hr3jGNOkmzgqztdhkpnbXUZkNn/FdO9FcrCwfkBEIk37kQ==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.1.0","@objectql/types":"4.1.0","@objectstack/spec":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.1.0_1770271581847_0.5453411068546246","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@objectql/platform-node","version":"4.2.0","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.2.0","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"02299ee44f3fd224a7a902a65f6439cfb5a5de6b","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.2.0.tgz","fileCount":36,"integrity":"sha512-DxvDEYeEIbUjxK1NUZc3vYytcxgXBvK0r/lSlIep2vehGfFErCEtGdG99zF1pZ2PF0DCMjEdy4/D28W8oF+3iQ==","signatures":[{"sig":"MEQCIE+0tWbbS0SnOVsuCjkTa8hw3gTw0V1ai+xS3AQjW9u7AiBnPNyl6/v3I4ZRTr9VN+4WnM+qBypKVO/k1bNfUpLf7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180795},"main":"dist/index.js","_from":"file:objectql-platform-node-4.2.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/b77b176f6922a450245f36365e759759/objectql-platform-node-4.2.0.tgz","_integrity":"sha512-DxvDEYeEIbUjxK1NUZc3vYytcxgXBvK0r/lSlIep2vehGfFErCEtGdG99zF1pZ2PF0DCMjEdy4/D28W8oF+3iQ==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.2.0","@objectql/types":"4.2.0","@objectstack/spec":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.2.0_1770486048663_0.7721386382081361","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"@objectql/platform-node","version":"4.2.1","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","_id":"@objectql/platform-node@4.2.1","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"dist":{"shasum":"2e1a4b30ff2289fe838d6a87067f743654b7ac56","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.2.1.tgz","fileCount":36,"integrity":"sha512-xSlVGOlkEDfay4IC08HWld0TtzSxiagsm5IzgZaGrGZq7U8MHG1yWZHgNkvx6RcoXiXriqaTXj8RKRIDrad2/g==","signatures":[{"sig":"MEQCIHPCV1ueLaDYxVz0NaCsylagaM3dHiSc30Xf3HZ7S+B1AiByv2t4ONOSZOcCxLMmaMRw49tUXsplTDW6elXSBquWXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176125},"main":"dist/index.js","_from":"file:objectql-platform-node-4.2.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"_resolved":"/tmp/0ce8f159194882179d436fac28e56377/objectql-platform-node-4.2.1.tgz","_integrity":"sha512-xSlVGOlkEDfay4IC08HWld0TtzSxiagsm5IzgZaGrGZq7U8MHG1yWZHgNkvx6RcoXiXriqaTXj8RKRIDrad2/g==","_npmVersion":"10.8.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","dependencies":{"js-yaml":"^4.1.1","fast-glob":"^3.3.2","@objectql/core":"4.2.1","@objectql/types":"4.2.1","@objectstack/spec":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/platform-node_4.2.1_1770972513201_0.24308957168582146","host":"s3://npm-registry-packages-npm-production"}},"4.2.2":{"name":"@objectql/platform-node","version":"4.2.2","description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"dependencies":{"@objectstack/objectql":"^3.0.6","@objectstack/spec":"^3.0.6","fast-glob":"^3.3.2","js-yaml":"^4.1.1","@objectql/types":"4.2.2"},"devDependencies":{"typescript":"^5.3.0"},"scripts":{"build":"tsc","test":"vitest run"},"_id":"@objectql/platform-node@4.2.2","_integrity":"sha512-6E+g/ZEXXLw07WnSEkciL59hi6epwdcUgX3MFozSPxnaMWuYbIFoA9IWiRmH1cdZxzOiLuM+3VRvMW8Op+Bmzw==","_resolved":"/tmp/41b740bb79a921608243af88418cd22d/objectql-platform-node-4.2.2.tgz","_from":"file:objectql-platform-node-4.2.2.tgz","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-6E+g/ZEXXLw07WnSEkciL59hi6epwdcUgX3MFozSPxnaMWuYbIFoA9IWiRmH1cdZxzOiLuM+3VRvMW8Op+Bmzw==","shasum":"083e4839f78f778314c1483ad68cab1430588b0e","tarball":"https://registry.npmjs.org/@objectql/platform-node/-/platform-node-4.2.2.tgz","fileCount":36,"unpackedSize":174816,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC9homAoCLZ6Xfi73ew+aJbvRXROYagci5d2/llad1CBAiArUrTLF6XnrLIoeMFDzeaEsI3HEIHmshmLHRvBBy+Iuw=="}]},"_npmUser":{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"},"directories":{},"maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/platform-node_4.2.2_1771219990726_0.744163094797792"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-12T07:30:55.421Z","modified":"2026-02-16T05:33:10.999Z","1.6.0":"2026-01-12T07:30:55.649Z","1.6.1":"2026-01-12T07:42:37.229Z","1.7.0":"2026-01-12T10:57:16.293Z","1.7.1":"2026-01-12T16:09:14.795Z","1.7.2":"2026-01-12T17:02:08.478Z","1.7.3":"2026-01-13T08:42:23.502Z","1.8.0":"2026-01-14T09:25:37.083Z","1.8.1":"2026-01-14T11:12:07.008Z","1.8.2":"2026-01-14T17:45:14.827Z","1.8.3":"2026-01-14T20:03:42.540Z","1.8.4":"2026-01-15T05:17:41.228Z","1.9.0":"2026-01-16T05:23:40.521Z","1.9.1":"2026-01-16T14:31:03.307Z","3.0.0":"2026-01-17T01:05:48.829Z","3.0.1":"2026-01-17T06:57:49.465Z","4.0.0":"2026-01-23T11:18:25.275Z","4.0.1":"2026-01-24T10:44:15.510Z","4.0.2":"2026-01-27T07:44:38.323Z","4.0.3":"2026-02-01T14:02:06.242Z","4.0.4":"2026-02-02T10:56:57.250Z","4.0.5":"2026-02-02T11:35:52.806Z","4.0.6":"2026-02-05T02:24:57.540Z","4.1.0":"2026-02-05T06:06:21.987Z","4.2.0":"2026-02-07T17:40:48.807Z","4.2.1":"2026-02-13T08:48:33.342Z","4.2.2":"2026-02-16T05:33:10.875Z"},"license":"MIT","keywords":["objectql","nodejs","platform","filesystem","yaml","metadata","loader","plugins"],"description":"Node.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management","maintainers":[{"name":"steedos-zhuangjianguo","email":"zhuangjianguo@steedos.com"}],"readme":"# @objectql/platform-node\n\nNode.js platform utilities for ObjectQL - File system integration, YAML loading, and plugin management.\n\n## Features\n\n- **📂 File System Metadata Loader** - Automatically discover and load `.object.yml`, `.validation.yml`, `.permission.yml` files from directories\n- **🔌 Plugin System** - Dynamic loading and management of ObjectQL plugins\n- **📦 Module System** - Package and module discovery for organized project structures\n- **🚀 Driver Registration** - Simplified database driver configuration\n- **🔍 Convention-Based Discovery** - Automatic metadata scanning using glob patterns\n- **⚡ Hot Reload Ready** - File watching support for development workflows\n\n## Installation\n\n```bash\nnpm install @objectql/platform-node @objectql/core @objectql/types\n```\n\n## Quick Start\n\n### Basic Metadata Loading\n\n```typescript\nimport { ObjectQL } from '@objectql/core';\nimport { ObjectLoader } from '@objectql/platform-node';\nimport * as path from 'path';\n\n// Initialize ObjectQL\nconst app = new ObjectQL({\n    datasources: {\n        default: new SqlDriver({ /* config */ })\n    }\n});\n\n// Create loader and load metadata from directory\nconst loader = new ObjectLoader(app.metadata);\nloader.load(path.join(__dirname, 'src/objects'));\n\nawait app.init();\n```\n\n### With Custom Directory Structure\n\n```typescript\nimport { ObjectLoader } from '@objectql/platform-node';\n\nconst loader = new ObjectLoader(app.metadata);\n\n// Load from multiple directories\nloader.load('./src/core/objects');\nloader.load('./src/plugins/crm/objects');\nloader.load('./src/plugins/project/objects');\n\n// Load specific file types\nloader.load('./src/validations', {\n    include: ['**/*.validation.yml']\n});\n```\n\n## API Reference\n\n### ObjectLoader\n\nThe main class for loading metadata files from the file system.\n\n#### Constructor\n\n```typescript\nnew ObjectLoader(registry: MetadataRegistry)\n```\n\n**Parameters:**\n- `registry` - The MetadataRegistry from ObjectQL instance\n\n#### Methods\n\n##### `load(dirPath: string, options?: LoadOptions): void`\n\nLoad metadata files from a directory.\n\n```typescript\nloader.load('./src/objects');\n\n// With options\nloader.load('./src', {\n    include: ['**/*.object.yml', '**/*.validation.yml'],\n    exclude: ['**/node_modules/**', '**/test/**']\n});\n```\n\n**Options:**\n- `include?: string[]` - Glob patterns to include (default: all supported types)\n- `exclude?: string[]` - Glob patterns to exclude\n\n##### `use(plugin: LoaderPlugin): void`\n\nRegister a custom loader plugin for handling additional file types.\n\n```typescript\nloader.use({\n    name: 'custom-metadata',\n    glob: ['**/*.custom.yml'],\n    handler: (ctx) => {\n        const data = yaml.load(ctx.content);\n        // Process and register custom metadata\n    }\n});\n```\n\n### Plugin Loading\n\nLoad external plugins dynamically.\n\n#### `loadPlugin(packageName: string): ObjectQLPlugin`\n\n```typescript\nimport { loadPlugin } from '@objectql/platform-node';\n\nconst plugin = loadPlugin('@objectql/plugin-audit');\napp.use(plugin);\n```\n\nThe plugin loader:\n- Resolves the package from `node_modules`\n- Supports both class-based and instance-based plugins\n- Automatically instantiates classes if needed\n- Searches default export and named exports\n\n### Driver Registration\n\nSimplified driver registration for Node.js environments.\n\n```typescript\nimport { registerDriver } from '@objectql/platform-node';\nimport { SqlDriver } from '@objectql/driver-sql';\n\nregisterDriver(app, 'default', new SqlDriver({\n    client: 'postgresql',\n    connection: {\n        host: 'localhost',\n        port: 5432,\n        database: 'myapp',\n        user: 'postgres',\n        password: 'password'\n    }\n}));\n```\n\n## Supported Metadata File Types\n\nThe loader automatically handles these file patterns:\n\n| Pattern | Description | Status |\n|---------|-------------|--------|\n| `**/*.object.yml` | Object/Entity definitions | ✅ Fully Supported |\n| `**/*.object.yaml` | Object definitions (YAML format) | ✅ Fully Supported |\n| `**/*.validation.yml` | Validation rules | ✅ Fully Supported |\n| `**/*.permission.yml` | Permission/RBAC rules | ⚠️ Loaded (requires manual enforcement) |\n| `**/*.hook.yml` | Lifecycle hooks metadata | ✅ Fully Supported |\n| `**/*.action.yml` | Custom action definitions | ✅ Fully Supported |\n| `**/*.workflow.yml` | Workflow automation | ⚠️ Loaded (no runtime execution) |\n| `**/*.app.yml` | Application configuration | ✅ Fully Supported |\n| `**/*.data.yml` | Initial/seed data | ✅ Fully Supported |\n\n> **Note**: Permission and workflow files can be loaded, but require application-layer implementation. See [Implementation Status](https://github.com/objectstack-ai/objectql/blob/main/IMPLEMENTATION_STATUS.md) for details.\n\n## Project Structure Examples\n\n### Standard Structure\n\n```\nmy-app/\n├── src/\n│   ├── objects/\n│   │   ├── user.object.yml\n│   │   ├── project.object.yml\n│   │   └── task.object.yml\n│   ├── validations/\n│   │   ├── user.validation.yml\n│   │   └── project.validation.yml\n│   └── permissions/\n│       ├── user.permission.yml\n│       └── project.permission.yml\n└── objectstack.config.ts\n```\n\n### Modular Structure\n\n```\nmy-app/\n├── src/\n│   ├── modules/\n│   │   ├── crm/\n│   │   │   ├── objects/\n│   │   │   │   ├── customer.object.yml\n│   │   │   │   └── opportunity.object.yml\n│   │   │   └── validations/\n│   │   │       └── customer.validation.yml\n│   │   └── project/\n│   │       ├── objects/\n│   │       │   ├── project.object.yml\n│   │       │   └── milestone.object.yml\n│   │       └── permissions/\n│   │           └── project.permission.yml\n└── objectstack.config.ts\n```\n\n## Complete Example\n\n### objectstack.config.ts\n\n```typescript\nimport { ObjectQL } from '@objectql/core';\nimport { SqlDriver } from '@objectql/driver-sql';\nimport { ObjectLoader, loadPlugin } from '@objectql/platform-node';\nimport * as path from 'path';\n\n// Initialize ObjectQL\nconst app = new ObjectQL({\n    datasources: {\n        default: new SqlDriver({\n            client: 'sqlite3',\n            connection: {\n                filename: path.join(__dirname, 'dev.sqlite3')\n            },\n            useNullAsDefault: true\n        })\n    }\n});\n\n// Load metadata from file system\nconst loader = new ObjectLoader(app.metadata);\n\n// Load core objects\nloader.load(path.join(__dirname, 'src/objects'));\n\n// Load module-specific metadata\nloader.load(path.join(__dirname, 'src/modules/crm'));\nloader.load(path.join(__dirname, 'src/modules/project'));\n\n// Load plugins\ntry {\n    const auditPlugin = loadPlugin('@objectql/plugin-audit');\n    app.use(auditPlugin);\n} catch (e) {\n    console.log('Audit plugin not installed');\n}\n\nexport default app;\n```\n\n## Advanced Usage\n\n### Custom Loader Plugin\n\nCreate custom handlers for specialized file types:\n\n```typescript\nimport { LoaderPlugin } from '@objectql/types';\nimport * as yaml from 'js-yaml';\n\nconst customPlugin: LoaderPlugin = {\n    name: 'report-loader',\n    glob: ['**/*.report.yml'],\n    handler: (ctx) => {\n        const report = yaml.load(ctx.content);\n        \n        // Validate report structure\n        if (!report.name || !report.query) {\n            console.warn(`Invalid report in ${ctx.file}`);\n            return;\n        }\n        \n        // Register report in metadata\n        ctx.registry.addEntry('report', report.name, {\n            ...report,\n            _source: ctx.file\n        });\n    }\n};\n\nloader.use(customPlugin);\n```\n\n### Conditional Loading\n\nLoad different metadata based on environment:\n\n```typescript\nconst loader = new ObjectLoader(app.metadata);\n\n// Always load core\nloader.load('./src/objects');\n\n// Environment-specific\nif (process.env.NODE_ENV === 'development') {\n    loader.load('./src/dev-objects');\n    loader.load('./src/test-data');\n} else if (process.env.NODE_ENV === 'production') {\n    loader.load('./src/production-objects');\n}\n```\n\n### Error Handling\n\n```typescript\nconst loader = new ObjectLoader(app.metadata);\n\ntry {\n    loader.load('./src/objects');\n} catch (error) {\n    console.error('Failed to load metadata:', error);\n    \n    if (error.code === 'ENOENT') {\n        console.error('Directory not found. Creating...');\n        fs.mkdirSync('./src/objects', { recursive: true });\n    }\n    \n    throw error;\n}\n```\n\n## File Watching (Development)\n\nWhile the loader doesn't include built-in file watching, you can easily add it:\n\n```typescript\nimport * as chokidar from 'chokidar';\n\nconst loader = new ObjectLoader(app.metadata);\nconst watchPath = path.join(__dirname, 'src/objects');\n\n// Initial load\nloader.load(watchPath);\n\n// Watch for changes\nif (process.env.NODE_ENV === 'development') {\n    const watcher = chokidar.watch('**/*.object.yml', {\n        cwd: watchPath,\n        ignoreInitial: true\n    });\n    \n    watcher.on('change', (filePath) => {\n        console.log(`Reloading ${filePath}...`);\n        \n        // Clear and reload\n        app.metadata.clear();\n        loader.load(watchPath);\n        \n        // Re-initialize\n        app.init();\n    });\n}\n```\n\n## Module Discovery\n\nThe platform-node package includes utilities for discovering packages and modules:\n\n```typescript\nimport { discoverModules } from '@objectql/platform-node';\n\n// Discover all modules in a directory\nconst modules = discoverModules('./src/modules');\n\nfor (const module of modules) {\n    console.log(`Loading module: ${module.name}`);\n    loader.load(module.path);\n}\n```\n\n## Best Practices\n\n### 1. Organize by Feature\n\n```\nsrc/\n  modules/\n    users/\n      objects/\n      validations/\n      permissions/\n      hooks/\n    projects/\n      objects/\n      validations/\n```\n\n### 2. Use Consistent Naming\n\n- Match file names to object names: `user.object.yml` for object \"user\"\n- Use singular names: `project`, not `projects`\n- Use lowercase with underscores: `project_task`, not `ProjectTask`\n\n### 3. Separate Concerns\n\nKeep different metadata types in separate files:\n- `user.object.yml` - Object structure\n- `user.validation.yml` - Validation rules\n- `user.permission.yml` - Access control\n\n### 4. Environment Configuration\n\n```typescript\n// Load base configuration\nloader.load('./src/objects');\n\n// Add environment-specific overrides\nif (process.env.NODE_ENV === 'production') {\n    loader.load('./src/objects/production');\n}\n```\n\n## Troubleshooting\n\n### Files Not Loading\n\n**Problem:** Metadata files are not being loaded.\n\n**Solutions:**\n- Verify file extensions match: `.yml` or `.yaml`\n- Check file names follow conventions: `*.object.yml`, `*.validation.yml`\n- Ensure directory path is correct (absolute or relative to `process.cwd()`)\n- Check for YAML syntax errors in files\n\n### Plugin Loading Fails\n\n**Problem:** `loadPlugin()` throws \"Failed to resolve plugin\" error.\n\n**Solutions:**\n- Ensure plugin package is installed: `npm install @objectql/plugin-name`\n- Verify package name is correct\n- Check that plugin exports a valid ObjectQL plugin\n- Try using absolute path if relative resolution fails\n\n### Performance Issues\n\n**Problem:** Slow metadata loading on startup.\n\n**Solutions:**\n- Limit glob patterns to specific directories\n- Use `exclude` patterns to skip unnecessary directories\n- Consider lazy loading modules\n- Cache parsed metadata in production\n\n## TypeScript Support\n\nFull TypeScript support with type definitions:\n\n```typescript\nimport { \n    ObjectLoader, \n    LoaderPlugin, \n    LoaderHandlerContext,\n    loadPlugin\n} from '@objectql/platform-node';\n\nconst loader: ObjectLoader = new ObjectLoader(app.metadata);\n\nconst plugin: LoaderPlugin = {\n    name: 'custom',\n    glob: ['**/*.custom.yml'],\n    handler: (ctx: LoaderHandlerContext) => {\n        // Fully typed context\n        console.log(ctx.file, ctx.content, ctx.registry);\n    }\n};\n\nloader.use(plugin);\n```\n\n## Related Packages\n\n- **[@objectql/core](../core)** - Core ObjectQL engine\n- **[@objectql/types](../types)** - Type definitions\n- **[@objectql/cli](../../tools/cli)** - Command-line interface\n\n## Environment Requirements\n\n- **Node.js**: 14.x or higher\n- **TypeScript**: 4.5 or higher (for TypeScript projects)\n\n## Dependencies\n\n- `fast-glob` - Fast file system glob matching\n- `js-yaml` - YAML parsing\n- `@objectql/types` - Core type definitions\n- `@objectql/core` - Core utilities\n\n## License\n\nMIT - Same as ObjectQL\n\n## Contributing\n\nContributions are welcome! Please see the main [repository README](../../../README.md) for guidelines.\n\n## See Also\n\n- [ObjectQL Documentation](../../../docs)\n- [Metadata File Specifications](../../../docs/spec)\n- [Configuration Guide](../../../docs/guide/configuration.md)\n","readmeFilename":"README.md"}