{"_id":"@_linked/s3","_rev":"3-6b97174b2ab93cd3d10864c194a84796","name":"@_linked/s3","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.2":{"name":"@_linked/s3","version":"1.0.2","keywords":["lincd","linked data","interoperable","semantic web","web3","s3","simple storage service","cloud storage","aws"],"author":{"url":"https://vw.codes","name":"Valentine Wilson","email":"valentine@semantu.com"},"license":"ISC","_id":"@_linked/s3@1.0.2","maintainers":[{"name":"rene_reborn","email":"email@rene.life"}],"dist":{"shasum":"5dfd5cf61c9df125551e7ff682cecac842cc22fe","tarball":"https://registry.npmjs.org/@_linked/s3/-/s3-1.0.2.tgz","fileCount":30,"integrity":"sha512-pNYeNITn5UY0ucw8JU6tPPC8PtcT45ZTfDpSeyC1fM6N2nKcCzb66MIi+2iw1vR0nrV9y55Pga7TywAX8JCq9g==","signatures":[{"sig":"MEUCIGWCXDX716rDhjFlJLD/x26h5gm1h1+7oRXruThx1SyRAiEAgImh0Bn6OSazXvtSc+/nl8JY61DS9xXAFWuoOFAYoqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31846},"main":"lib/cjs/index.js","types":"dist/s3.d.ts","module":"lib/esm/index.js","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.js"},"./*":{"types":"./lib/esm/*.d.ts","import":"./lib/esm/*.js","require":"./lib/cjs/*.js"},"./*.js":{"types":"./lib/esm/*.d.ts","import":"./lib/esm/*.js","require":"./lib/cjs/*.js"}},"gitHead":"0a2673b9070baadb43fe94def581ebafc69a27ac","scripts":{"build":"yarn linked build","start":"npm exec linked dev","postpublish":"npm exec linked register","prepublishOnly":"yarn linked build production"},"_npmUser":{"name":"rene_reborn","email":"email@rene.life"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.2","description":"A general purpose Simple Storage Service (S3) package to be extended or used as is","directories":{},"displayName":"s3","_nodeVersion":"22.16.0","dependencies":{"cron":"^3.1.7","mime":"2.6.0","@_linked/core":"^2.2.1","@_linked/server":"~1.0","@aws-sdk/client-s3":"^3.159.0","@_linked/server-utils":"~1.0","@aws-sdk/credential-providers":"^3.159.0"},"linkedPackage":true,"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["lib/esm/*"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/mime":"^3.0.4","@_linked/cli":"^1.2","@changesets/cli":"^2.29.8","tsconfig-to-dual-package":"^1.2.0","@changesets/changelog-github":"^0.5.2","typescript-plugin-css-modules":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/s3_1.0.2_1776894362632_0.4213949239913892","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@_linked/s3","version":"1.0.3","keywords":["lincd","linked data","interoperable","semantic web","web3","s3","simple storage service","cloud storage","aws"],"author":{"url":"https://vw.codes","name":"Valentine Wilson","email":"valentine@semantu.com"},"license":"ISC","_id":"@_linked/s3@1.0.3","maintainers":[{"name":"rene_reborn","email":"email@rene.life"}],"dist":{"shasum":"f310b799d1adb378c7e8cd142dfb41a966d4d287","tarball":"https://registry.npmjs.org/@_linked/s3/-/s3-1.0.3.tgz","fileCount":30,"integrity":"sha512-i+hsPGbxgAqywOv4Rb5STXNV7x+dt8sqLRpRlf+PctkGfJ2PfV1x2bhNAaSOTw1aeZtjI6dYeLVDAzYn76z2Zg==","signatures":[{"sig":"MEYCIQC5t3YUhyblZyTY/XZq5NOSTK8HB3qQR9b4hLK962iM4gIhAPOLCLU1QEs1E+fsGRK34Q9JQMY9LtmCMU8Z0yBu9Z5S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33290},"main":"lib/cjs/index.js","types":"dist/s3.d.ts","module":"lib/esm/index.js","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.js"},"./*":{"types":"./lib/esm/*.d.ts","import":"./lib/esm/*.js","require":"./lib/cjs/*.js"},"./*.js":{"types":"./lib/esm/*.d.ts","import":"./lib/esm/*.js","require":"./lib/cjs/*.js"}},"gitHead":"bb6d0108fe4a1f49b7ecc474570c22f16b57b5d7","scripts":{"build":"yarn linked build","start":"npm exec linked dev","postpublish":"npm exec linked register","prepublishOnly":"yarn linked build production"},"_npmUser":{"name":"rene_reborn","email":"email@rene.life"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.2","description":"A general purpose Simple Storage Service (S3) package to be extended or used as is","directories":{},"displayName":"s3","_nodeVersion":"22.16.0","dependencies":{"cron":"^3.1.7","mime":"2.6.0","@_linked/core":"^2.2.1","@_linked/server":"~1.0","@aws-sdk/client-s3":"^3.159.0","@_linked/server-utils":"~1.0","@aws-sdk/credential-providers":"^3.159.0"},"linkedPackage":true,"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["lib/esm/*"]}},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/mime":"^3.0.4","@_linked/cli":"^1.2","@changesets/cli":"^2.29.8","tsconfig-to-dual-package":"^1.2.0","@changesets/changelog-github":"^0.5.2","typescript-plugin-css-modules":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/s3_1.0.3_1783369601628_0.61160318124251","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@_linked/s3","displayName":"s3","description":"A general purpose Simple Storage Service (S3) package to be extended or used as is","author":{"name":"Valentine Wilson","email":"valentine@semantu.com","url":"https://vw.codes"},"repository":{"type":"git","url":""},"version":"1.1.0","linkedPackage":true,"type":"module","main":"lib/esm/index.js","types":"./lib/esm/index.d.ts","license":"ISC","scripts":{"start":"npm exec linked dev","build":"rimraf ./lib && yarn build-esm && yarn copy-to-lib","build-esm":"echo \"compiling ESM\" && rimraf ./lib/esm && (yarn tsc -p tsconfig-esm.json || echo 'tsc returned non-zero; .js still emitted via noEmitOnError default')","copy-to-lib":"echo 'copying JSON assets to lib folder' && yarn copyfiles -u 1 'src/**/*.json' lib/esm"},"keywords":["lincd","linked data","interoperable","semantic web","web3","s3","simple storage service","cloud storage","aws"],"dependencies":{"@_linked/core":"^2.2.1","@_linked/server":"^2.0.0","@_linked/server-utils":"^1.0","@aws-sdk/client-s3":"^3.159.0","@aws-sdk/credential-providers":"^3.159.0","cron":"^3.1.7","mime":"2.6.0"},"devDependencies":{"@_linked/cli":"^1.2","@changesets/changelog-github":"^0.5.2","@changesets/cli":"^2.29.8","@types/mime":"^3.0.4","copyfiles":"^2.4.1","rimraf":"^5.0.7","tsconfig-to-dual-package":"^1.2.0","typescript":"^5.7.3","typescript-plugin-css-modules":"^5.1.0"},"module":"lib/esm/index.js","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js"},"./*.js":{"types":"./lib/esm/*.d.ts","import":"./lib/esm/*.js"},"./*":{"types":"./lib/esm/*.d.ts","import":"./lib/esm/*.js"}},"typesVersions":{"*":{"*":["lib/esm/*"]}},"publishConfig":{"access":"public"},"_id":"@_linked/s3@1.1.0","gitHead":"f59d9369b017837c90c13f601e6dbf3dbf32cd69","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-d0ATarrs7NyZ00F0gRVhjp+BHTVN4iSnSWaI5Ikkrbm/hMpjRoXZqhOXqVEVYDrxQlFG35GM0OAQ3m9BWy0glA==","shasum":"d90fc79d994a8191149edfaf754c6410bfab63fd","tarball":"https://registry.npmjs.org/@_linked/s3/-/s3-1.1.0.tgz","fileCount":35,"unpackedSize":63837,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGM8lp6GVJqhBMDUrFnGfWtw18thECFCVwPH41iAQdkJAiEAjmhhQSN8P85Y5e2WhYAAyjOHRY004OGF4aikh3OLq/E="}]},"_npmUser":{"name":"rene_reborn","email":"email@rene.life"},"directories":{},"maintainers":[{"name":"rene_reborn","email":"email@rene.life"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/s3_1.1.0_1784116770405_0.44208422827559324"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-22T21:46:02.504Z","modified":"2026-07-15T11:59:30.654Z","1.0.2":"2026-04-22T21:46:02.783Z","1.0.3":"2026-07-06T20:26:41.757Z","1.1.0":"2026-07-15T11:59:30.548Z"},"author":{"name":"Valentine Wilson","email":"valentine@semantu.com","url":"https://vw.codes"},"license":"ISC","keywords":["lincd","linked data","interoperable","semantic web","web3","s3","simple storage service","cloud storage","aws"],"repository":{"type":"git","url":""},"description":"A general purpose Simple Storage Service (S3) package to be extended or used as is","maintainers":[{"name":"rene_reborn","email":"email@rene.life"}],"readme":"# lincd-s3\n\nA plug-n-play solution for using an S3 Bucket in LINCD.\n\nIn place of your usual backend store, you can use the following to get started with S3:\n\n```ts\n// ...\nconst {\n  LinkedFileStorage,\n} = require('@_linked/core/lib/utils/LinkedFileStorage');\nconst { LinkedStorage } = require('@_linked/core/lib/utils/LinkedStorage');\nconst { S3QuadStore } = require('lincd-s3/lib/shapes/S3QuadStore');\nconst { S3FileStore } = require('lincd-s3/lib/shapes/S3FileStore');\n\n// This translates to be the Object name in the bucket. If no object\n// is found with this name, then one will be created - just like how a\n// regular NodeFileStore works!\nconst QUADSTORE_NAME = 'foo-bar-data';\nconst s3Quads = new S3QuadStore(QUADSTORE_NAME);\n\nLinkedStorage.setDefaultStore(s3Quads);\n\n// Set up an S3 Filestore\nconst FILESTORE_NAME = 'baz-qux-files';\nconst s3Files = new S3FileStore(FILESTORE_NAME);\n\nLinkedFileStorage.setDefaultStore(s3Files);\n// ...\n```\n\n## Environment Variables\n\nUnless stated otherwise, the following environment variables are required:\n\n```properties\n# Generated using whatever service is hosting your bucket\nAWS_ACCESS_KEY_ID=ABC123XYZ789\nAWS_SECRET_ACCESS_KEY=aBc123Def456xYz789\n\n# The endpoint on which your bucket resides. It's important to note that\n# this is the HOST address of your bucket - i.e. it SHOULDN'T contain\n# your bucket name!!\nS3_BUCKET_ENDPOINT=https://my.bucket-provider.com\n\n# The name of your buckets\nS3_FILES_BUCKET_NAME=my-file-bucket\nS3_QUADS_BUCKET_NAME=my-data-bucket\n\n# OPTIONAL: If using a CDN, you can specify the URL here and it will be used\nS3_CDN_URL=https://my.cdn-provider.com\n```\n\nThe S3 client will automagically form the correct URL for your bucket - in this case it would\nbe https://my-data-bucket.my.bucket-provider.com or https://my-file-bucket.my.bucket-provider.com\n\n## See also:\n\n- [lincd-filebase](https://www.npmjs.com/package/lincd-filebase) - An implementation\n  for [filebase](https://filebase.com) IPFS bucket storage\n","readmeFilename":"README.md"}