turborepo-remote-cache 2.1.5 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|

|
|
7
7
|
|
|
8
8
|
[](https://github.com/ducktors/turborepo-remote-cache/releases) [](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/ci.yml) [](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/test.yaml) [](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/release.yml) [](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/docker.yml) [](https://codeclimate.com/github/ducktors/turborepo-remote-cache/maintainability) [](https://coveralls.io/github/ducktors/turborepo-remote-cache?branch=main) [](https://hub.docker.com/r/ducktors/turborepo-remote-cache) [](https://www.npmjs.com/package/turborepo-remote-cache) [](https://github.com/semantic-release/semantic-release) [](https://securityscorecards.dev/viewer/?uri=github.com/ducktors/turborepo-remote-cache) <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
9
|
-
[](#contributors-)
|
|
10
10
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
11
11
|
|
|
12
12
|
This project is an open-source implementation of the [Turborepo custom remote cache server](https://turbo.build/repo/docs/core-concepts/remote-caching#self-hosting). If Vercel's official cache server isn't a viable option, this server is an alternative for self-hosted deployments.
|
|
@@ -101,6 +101,7 @@ fix: fix a bug ---> 1.0.x
|
|
|
101
101
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Naoto-Ida"><img src="https://avatars.githubusercontent.com/u/7748110?v=4?s=100" width="100px;" alt="Naoto Ida"/><br /><sub><b>Naoto Ida</b></sub></a><br /><a href="https://github.com/ducktors/turborepo-remote-cache/commits?author=Naoto-Ida" title="Documentation">📖</a></td>
|
|
102
102
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/gustavoam-asdf"><img src="https://avatars.githubusercontent.com/u/53370174?v=4?s=100" width="100px;" alt="Gustavo Atencio Mauricio"/><br /><sub><b>Gustavo Atencio Mauricio</b></sub></a><br /><a href="https://github.com/ducktors/turborepo-remote-cache/commits?author=gustavoam-asdf" title="Documentation">📖</a></td>
|
|
103
103
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/EWhite613"><img src="https://avatars.githubusercontent.com/u/9057680?v=4?s=100" width="100px;" alt="Eric White"/><br /><sub><b>Eric White</b></sub></a><br /><a href="https://github.com/ducktors/turborepo-remote-cache/commits?author=EWhite613" title="Code">💻</a></td>
|
|
104
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SaniMusic"><img src="https://avatars.githubusercontent.com/u/11148959?v=4?s=100" width="100px;" alt="Sani Music"/><br /><sub><b>Sani Music</b></sub></a><br /><a href="https://github.com/ducktors/turborepo-remote-cache/commits?author=SaniMusic" title="Documentation">📖</a> <a href="https://github.com/ducktors/turborepo-remote-cache/commits?author=SaniMusic" title="Code">💻</a></td>
|
|
104
105
|
</tr>
|
|
105
106
|
</tbody>
|
|
106
107
|
</table>
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { PassThrough } from 'node:stream';
|
|
2
|
+
import { BlobServiceClient } from '@azure/storage-blob';
|
|
2
3
|
export function createAzureBlobStorage({ containerName, connectionString, }) {
|
|
3
|
-
const
|
|
4
|
-
const
|
|
4
|
+
const blobServiceClient = BlobServiceClient.fromConnectionString(connectionString);
|
|
5
|
+
const containerClient = blobServiceClient.getContainerClient(containerName);
|
|
5
6
|
return {
|
|
6
7
|
exists: (artifactPath, cb) => {
|
|
7
|
-
|
|
8
|
+
const blobClient = containerClient.getBlobClient(artifactPath);
|
|
9
|
+
blobClient.exists().then((exists) => {
|
|
10
|
+
cb(null, exists);
|
|
11
|
+
}, cb);
|
|
8
12
|
},
|
|
9
13
|
createReadStream(artifactPath) {
|
|
10
|
-
|
|
14
|
+
const blobClient = containerClient.getBlobClient(artifactPath);
|
|
15
|
+
const stream = new PassThrough();
|
|
16
|
+
blobClient.download().then((response) => {
|
|
17
|
+
if (response.readableStreamBody) {
|
|
18
|
+
response.readableStreamBody.pipe(stream);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return stream;
|
|
11
22
|
},
|
|
12
23
|
createWriteStream(artifactPath) {
|
|
13
|
-
|
|
24
|
+
const blockBlobClient = containerClient.getBlockBlobClient(artifactPath);
|
|
25
|
+
const stream = new PassThrough();
|
|
26
|
+
blockBlobClient.uploadStream(stream);
|
|
27
|
+
return stream;
|
|
14
28
|
},
|
|
15
29
|
};
|
|
16
30
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp1cmUtYmxvYi1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvcmVtb3RlLWNhY2hlL3N0b3JhZ2UvYXp1cmUtYmxvYi1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFRdkQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEVBQ3JDLGFBQWEsRUFDYixnQkFBZ0IsR0FDUTtJQUN4QixNQUFNLGlCQUFpQixHQUNyQixpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQzFELE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRTNFLE9BQU87UUFDTCxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUM5RCxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2xDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ1IsQ0FBQztRQUNELGdCQUFnQixDQUFDLFlBQVk7WUFDM0IsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUM5RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBO1lBQ2hDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxRQUFRLENBQUMsa0JBQWtCLEVBQUU7b0JBQy9CLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7aUJBQ3pDO1lBQ0gsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7UUFDRCxpQkFBaUIsQ0FBQyxZQUFZO1lBQzVCLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUN4RSxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBO1lBQ2hDLGVBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDcEMsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMifQ==
|
|
@@ -89,4 +89,4 @@ export function createLocation(provider, providerOptions) {
|
|
|
89
89
|
existsCachedArtifact,
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGx1Z2lucy9yZW1vdGUtY2FjaGUvc3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzNCLE9BQU8sRUFBWSxRQUFRLElBQUksZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRCxPQUFPLEVBRUwsc0JBQXNCLEdBQ3ZCLE1BQU0seUJBQXlCLENBQUE7QUFDaEMsT0FBTyxFQUVMLHdCQUF3QixHQUN6QixNQUFNLDJCQUEyQixDQUFBO0FBQ2xDLE9BQU8sRUFBa0MsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3hFLE9BQU8sRUFBNEIsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRTVELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sdUJBQXVCLEdBQUcsZ0JBQXlCLENBQUE7QUFDekQsTUFBTSwwQkFBMEIsR0FBRyxJQUFhLENBQUE7QUE2QmhELFNBQVMscUJBQXFCLENBQzVCLFFBQWtCLEVBQ2xCLGVBQTBDO0lBRTFDLE1BQU0sRUFDSixJQUFJLEdBQUcsdUJBQXVCLEVBQzlCLE1BQU0sR0FBRywwQkFBMEIsR0FDcEMsR0FBRyxlQUFlLENBQUE7SUFFbkIsUUFBUSxRQUFRLEVBQUU7UUFDaEIsS0FBSyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixPQUFPLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO1NBQ3JDO1FBQ0QsS0FBSyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7UUFDMUIsS0FBSyxpQkFBaUIs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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "turborepo-remote-cache",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Turborepo remote cache server",
|
|
5
5
|
"main": "./dist/app.js",
|
|
6
6
|
"type": "module",
|
|
@@ -45,13 +45,13 @@
|
|
|
45
45
|
"url": "git+https://github.com/ducktors/turborepo-remote-cache.git"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
+
"@azure/storage-blob": "^12.23.0",
|
|
48
49
|
"@fastify/aws-lambda": "^3.2.0",
|
|
49
50
|
"@google-cloud/storage": "6.9.2",
|
|
50
51
|
"@hapi/boom": "10.0.0",
|
|
51
52
|
"@sinclair/typebox": "0.25.21",
|
|
52
53
|
"ajv": "8.12.0",
|
|
53
54
|
"aws-sdk": "2.1310.0",
|
|
54
|
-
"azure-storage": "^2.10.7",
|
|
55
55
|
"close-with-grace": "1.1.0",
|
|
56
56
|
"env-schema": "5.2.0",
|
|
57
57
|
"fastify": "4.12.0",
|