turborepo-remote-cache 1.7.3 → 1.8.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
@@ -1,6 +1,6 @@
1
1
  ![Turborepo Remote Cache](https://user-images.githubusercontent.com/6388707/149501949-9a385f04-ec94-45f4-9ea9-d211be123071.png)
2
2
 
3
- ![GitHub package.json version](https://img.shields.io/github/package-json/v/ducktors/turborepo-remote-cache) [![CI](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/ci.yml/badge.svg)](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/ci.yml) [![Release](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/release.yml/badge.svg)](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/release.yml) [![Docker](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/docker.yml/badge.svg)](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/docker.yml) [![Coverage Status](https://coveralls.io/repos/github/ducktors/turborepo-remote-cache/badge.svg?branch=main)](https://coveralls.io/github/ducktors/turborepo-remote-cache?branch=main) [![Docker Pulls](https://img.shields.io/docker/pulls/fox1t/turborepo-remote-cache?logo=docker)](https://hub.docker.com/r/fox1t/turborepo-remote-cache) [![npm](https://img.shields.io/npm/dt/turborepo-remote-cache)]([https://img.shields.io/npm/dt/turborepo-remote-cache](https://www.npmjs.com/package/turborepo-remote-cache)) [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release) <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
3
+ [![GitHub package.json version](https://img.shields.io/github/package-json/v/ducktors/turborepo-remote-cache)](https://github.com/ducktors/turborepo-remote-cache/releases) [![CI](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/ci.yml/badge.svg)](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/ci.yml) [![Release](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/release.yml/badge.svg)](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/release.yml) [![Docker](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/docker.yml/badge.svg)](https://github.com/ducktors/turborepo-remote-cache/actions/workflows/docker.yml) [![Coverage Status](https://coveralls.io/repos/github/ducktors/turborepo-remote-cache/badge.svg?branch=main)](https://coveralls.io/github/ducktors/turborepo-remote-cache?branch=main) [![Docker Pulls](https://img.shields.io/docker/pulls/fox1t/turborepo-remote-cache?logo=docker)](https://hub.docker.com/r/fox1t/turborepo-remote-cache) [![npm](https://img.shields.io/npm/dt/turborepo-remote-cache)](https://www.npmjs.com/package/turborepo-remote-cache) [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release) <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
4
4
  [![All Contributors](https://img.shields.io/badge/all_contributors-10-orange.svg?style=flat-square)](#contributors-)
5
5
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
6
6
 
@@ -23,19 +23,19 @@ It supports several storage providers and deploys environments. Moreover, the pr
23
23
  [Full documentation is available here](https://ducktors.github.io/turborepo-remote-cache/supported-storage-providers)
24
24
 
25
25
  ## Contribute to this project
26
- 1. Clone this repository
26
+ 1. Clone this repository
27
27
 
28
28
  ```git clone git@github.com:ducktors/turborepo-remote-cache.git```
29
29
 
30
- 2. Move inside repository folder
30
+ 2. Move inside repository folder
31
31
 
32
32
  ```cd turborepo-remote-cache```
33
33
 
34
- 3. Install dependencies
34
+ 3. Install dependencies
35
35
 
36
- ```npm install```
36
+ ```pnpm install```
37
37
 
38
- 4. Copy example variables
38
+ 4. Copy example variables
39
39
 
40
40
  ```cp .env.example .env```
41
41
 
@@ -43,11 +43,11 @@ It supports several storage providers and deploys environments. Moreover, the pr
43
43
 
44
44
  6. Run the project in development mode
45
45
 
46
- ```npm run dev```
46
+ ```pnpm dev```
47
47
 
48
48
  ## How to commit
49
49
 
50
- This repo uses [Semantic Release](https://github.com/semantic-release/semantic-release) with Conventional Commits.
50
+ This repo uses [Semantic Release](https://github.com/semantic-release/semantic-release) with Conventional Commits.
51
51
  Releases are automatically created based on the type of commit message: feat for minor and fix for patch.
52
52
 
53
53
  ```
@@ -41,6 +41,7 @@ async function turboRemoteCache(instance, options) {
41
41
  i.route(routes_1.headArtifact);
42
42
  i.route(routes_1.putArtifact);
43
43
  i.route(routes_1.artifactsEvents);
44
+ i.route(routes_1.getStatus);
44
45
  }, { prefix: `/${apiVersion}` });
45
46
  }
46
47
  exports.default = turboRemoteCache;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/remote-cache/index.ts"],"names":[],"mappings":";;AACA,qCAAqD;AACrD,qCAAkF;AAClF,uCAA0C;AAC1C,mCAA6C;AAE7C,KAAK,UAAU,gBAAgB,CAC7B,QAAyB,EACzB,OAIC;IAED,MAAM,SAAS,GAAW,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAA;IACpD,MAAM,EAAE,aAAa,EAAE,UAAU,GAAG,IAAI,EAAE,QAAQ,GAAG,uBAAiB,CAAC,KAAK,EAAE,GAAG,OAAO,CAAA;IACxF,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CACb,+CAA+C,OAAO,aAAa,mBAAmB,CACvF,CAAA;KACF;IAED,QAAQ,CAAC,oBAAoB,CAC3B,0BAA0B,EAC1B,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAChC,KAAK,UAAU,MAAM,CAAC,OAAO,EAAE,OAAO;QACpC,OAAO,OAAO,CAAA;IAChB,CAAC,CACF,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,aAAa,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,OAAO;QACnD,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACjD,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;QAEvE,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAA,iBAAU,EAAC,8BAA8B,CAAC,CAAA;SACjD;QACD,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,IAAA,mBAAY,EAAC,6BAA6B,CAAC,CAAA;SAClD;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,CACf,UAAU,EACV,IAAA,wBAAc,EAAC,QAAQ,EAAE;QACvB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa;QACxC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa;QACxC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;QAClC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;QACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;QACrC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB;QAC7C,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;QAClE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc;QACzC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAA2B;KACtD,CAAC,CACH,CAAA;IAED,MAAM,QAAQ,CAAC,QAAQ,CACrB,KAAK,WAAW,CAAC;QACf,CAAC,CAAC,KAAK,CAAC,oBAAW,CAAC,CAAA;QACpB,CAAC,CAAC,KAAK,CAAC,qBAAY,CAAC,CAAA;QACrB,CAAC,CAAC,KAAK,CAAC,oBAAW,CAAC,CAAA;QACpB,CAAC,CAAC,KAAK,CAAC,wBAAe,CAAC,CAAA;IAC1B,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,EAAE,CAC7B,CAAA;AACH,CAAC;AAED,kBAAe,gBAAgB,CAAA","sourcesContent":["import { FastifyInstance } from 'fastify'\nimport { badRequest, unauthorized } from '@hapi/boom'\nimport { getArtifact, putArtifact, artifactsEvents, headArtifact } from './routes'\nimport { createLocation } from './storage'\nimport { STORAGE_PROVIDERS } from '../../env'\n\nasync function turboRemoteCache(\n instance: FastifyInstance,\n options: {\n allowedTokens: string[]\n apiVersion?: `v${number}`\n provider?: STORAGE_PROVIDERS\n },\n) {\n const bodyLimit = <number>instance.config.BODY_LIMIT\n const { allowedTokens, apiVersion = 'v8', provider = STORAGE_PROVIDERS.LOCAL } = options\n if (!(Array.isArray(allowedTokens) && allowedTokens.length)) {\n throw new Error(\n `'allowedTokens' options must be a string[], ${typeof allowedTokens} provided instead`,\n )\n }\n\n instance.addContentTypeParser<Buffer>(\n 'application/octet-stream',\n { parseAs: 'buffer', bodyLimit },\n async function parser(request, payload) {\n return payload\n },\n )\n\n const tokens = new Set<string>(allowedTokens)\n instance.addHook('onRequest', async function (request) {\n let authHeader = request.headers['authorization']\n authHeader = Array.isArray(authHeader) ? authHeader.join() : authHeader\n\n if (!authHeader) {\n throw badRequest(`Missing Authorization header`)\n }\n const [, token] = authHeader.split('Bearer ')\n if (!tokens.has(token)) {\n throw unauthorized(`Invalid authorization token`)\n }\n })\n\n instance.decorate(\n 'location',\n createLocation(provider, {\n accessKey: instance.config.S3_ACCESS_KEY,\n secretKey: instance.config.S3_SECRET_KEY,\n path: instance.config.STORAGE_PATH,\n region: instance.config.S3_REGION,\n endpoint: instance.config.S3_ENDPOINT,\n clientEmail: instance.config.GCS_CLIENT_EMAIL,\n privateKey: instance.config.GCS_PRIVATE_KEY?.replace(/\\\\n/g, '\\n'),\n projectId: instance.config.GCS_PROJECT_ID,\n useTmp: !!instance.config.STORAGE_PATH_USE_TMP_FOLDER,\n }),\n )\n\n await instance.register(\n async function (i) {\n i.route(getArtifact)\n i.route(headArtifact)\n i.route(putArtifact)\n i.route(artifactsEvents)\n },\n { prefix: `/${apiVersion}` },\n )\n}\n\nexport default turboRemoteCache\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/remote-cache/index.ts"],"names":[],"mappings":";;AACA,qCAAqD;AACrD,qCAA6F;AAC7F,uCAA0C;AAC1C,mCAA6C;AAE7C,KAAK,UAAU,gBAAgB,CAC7B,QAAyB,EACzB,OAIC;IAED,MAAM,SAAS,GAAW,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAA;IACpD,MAAM,EAAE,aAAa,EAAE,UAAU,GAAG,IAAI,EAAE,QAAQ,GAAG,uBAAiB,CAAC,KAAK,EAAE,GAAG,OAAO,CAAA;IACxF,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CACb,+CAA+C,OAAO,aAAa,mBAAmB,CACvF,CAAA;KACF;IAED,QAAQ,CAAC,oBAAoB,CAC3B,0BAA0B,EAC1B,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAChC,KAAK,UAAU,MAAM,CAAC,OAAO,EAAE,OAAO;QACpC,OAAO,OAAO,CAAA;IAChB,CAAC,CACF,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,aAAa,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,OAAO;QACnD,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACjD,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;QAEvE,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAA,iBAAU,EAAC,8BAA8B,CAAC,CAAA;SACjD;QACD,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,IAAA,mBAAY,EAAC,6BAA6B,CAAC,CAAA;SAClD;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,CACf,UAAU,EACV,IAAA,wBAAc,EAAC,QAAQ,EAAE;QACvB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa;QACxC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa;QACxC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;QAClC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;QACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;QACrC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB;QAC7C,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;QAClE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc;QACzC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAA2B;KACtD,CAAC,CACH,CAAA;IAED,MAAM,QAAQ,CAAC,QAAQ,CACrB,KAAK,WAAW,CAAC;QACf,CAAC,CAAC,KAAK,CAAC,oBAAW,CAAC,CAAA;QACpB,CAAC,CAAC,KAAK,CAAC,qBAAY,CAAC,CAAA;QACrB,CAAC,CAAC,KAAK,CAAC,oBAAW,CAAC,CAAA;QACpB,CAAC,CAAC,KAAK,CAAC,wBAAe,CAAC,CAAA;QACxB,CAAC,CAAC,KAAK,CAAC,kBAAS,CAAC,CAAA;IACpB,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,EAAE,CAC7B,CAAA;AACH,CAAC;AAED,kBAAe,gBAAgB,CAAA","sourcesContent":["import { FastifyInstance } from 'fastify'\nimport { badRequest, unauthorized } from '@hapi/boom'\nimport { getArtifact, putArtifact, artifactsEvents, headArtifact, getStatus } from './routes'\nimport { createLocation } from './storage'\nimport { STORAGE_PROVIDERS } from '../../env'\n\nasync function turboRemoteCache(\n instance: FastifyInstance,\n options: {\n allowedTokens: string[]\n apiVersion?: `v${number}`\n provider?: STORAGE_PROVIDERS\n },\n) {\n const bodyLimit = <number>instance.config.BODY_LIMIT\n const { allowedTokens, apiVersion = 'v8', provider = STORAGE_PROVIDERS.LOCAL } = options\n if (!(Array.isArray(allowedTokens) && allowedTokens.length)) {\n throw new Error(\n `'allowedTokens' options must be a string[], ${typeof allowedTokens} provided instead`,\n )\n }\n\n instance.addContentTypeParser<Buffer>(\n 'application/octet-stream',\n { parseAs: 'buffer', bodyLimit },\n async function parser(request, payload) {\n return payload\n },\n )\n\n const tokens = new Set<string>(allowedTokens)\n instance.addHook('onRequest', async function (request) {\n let authHeader = request.headers['authorization']\n authHeader = Array.isArray(authHeader) ? authHeader.join() : authHeader\n\n if (!authHeader) {\n throw badRequest(`Missing Authorization header`)\n }\n const [, token] = authHeader.split('Bearer ')\n if (!tokens.has(token)) {\n throw unauthorized(`Invalid authorization token`)\n }\n })\n\n instance.decorate(\n 'location',\n createLocation(provider, {\n accessKey: instance.config.S3_ACCESS_KEY,\n secretKey: instance.config.S3_SECRET_KEY,\n path: instance.config.STORAGE_PATH,\n region: instance.config.S3_REGION,\n endpoint: instance.config.S3_ENDPOINT,\n clientEmail: instance.config.GCS_CLIENT_EMAIL,\n privateKey: instance.config.GCS_PRIVATE_KEY?.replace(/\\\\n/g, '\\n'),\n projectId: instance.config.GCS_PROJECT_ID,\n useTmp: !!instance.config.STORAGE_PATH_USE_TMP_FOLDER,\n }),\n )\n\n await instance.register(\n async function (i) {\n i.route(getArtifact)\n i.route(headArtifact)\n i.route(putArtifact)\n i.route(artifactsEvents)\n i.route(getStatus)\n },\n { prefix: `/${apiVersion}` },\n )\n}\n\nexport default turboRemoteCache\n"]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStatus = void 0;
4
+ const status_schema_1 = require("./status-schema");
5
+ exports.getStatus = {
6
+ method: 'GET',
7
+ url: '/artifacts/status',
8
+ schema: status_schema_1.statusRouteSchema,
9
+ logLevel: 'error',
10
+ async handler(req, reply) {
11
+ reply.send({ status: 'enabled' });
12
+ },
13
+ };
14
+ //# sourceMappingURL=get-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-status.js","sourceRoot":"","sources":["../../../../src/plugins/remote-cache/routes/get-status.ts"],"names":[],"mappings":";;;AAGA,mDAAmD;AAEtC,QAAA,SAAS,GAQlB;IACF,MAAM,EAAE,KAAK;IACb,GAAG,EAAE,mBAAmB;IACxB,MAAM,EAAE,iCAAiB;IACzB,QAAQ,EAAE,OAAO;IACjB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IACnC,CAAC;CACF,CAAA","sourcesContent":["import type { Server } from 'http'\nimport type { RawReplyDefaultExpression, RawRequestDefaultExpression, RouteOptions } from 'fastify'\nimport { type Params, type Querystring } from './schema'\nimport { statusRouteSchema } from './status-schema'\n\nexport const getStatus: RouteOptions<\n Server,\n RawRequestDefaultExpression,\n RawReplyDefaultExpression,\n {\n Querystring: Querystring\n Params: Params\n }\n> = {\n method: 'GET',\n url: '/artifacts/status',\n schema: statusRouteSchema,\n logLevel: 'error',\n async handler(req, reply) {\n reply.send({ status: 'enabled' })\n },\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.artifactsEvents = exports.putArtifact = exports.headArtifact = exports.getArtifact = void 0;
3
+ exports.getStatus = exports.artifactsEvents = exports.putArtifact = exports.headArtifact = exports.getArtifact = void 0;
4
4
  var get_artifact_1 = require("./get-artifact");
5
5
  Object.defineProperty(exports, "getArtifact", { enumerable: true, get: function () { return get_artifact_1.getArtifact; } });
6
6
  var head_artifact_1 = require("./head-artifact");
@@ -9,4 +9,6 @@ var put_artifact_1 = require("./put-artifact");
9
9
  Object.defineProperty(exports, "putArtifact", { enumerable: true, get: function () { return put_artifact_1.putArtifact; } });
10
10
  var artifacts_events_1 = require("./artifacts-events");
11
11
  Object.defineProperty(exports, "artifactsEvents", { enumerable: true, get: function () { return artifacts_events_1.artifactsEvents; } });
12
+ var get_status_1 = require("./get-status");
13
+ Object.defineProperty(exports, "getStatus", { enumerable: true, get: function () { return get_status_1.getStatus; } });
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/remote-cache/routes/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,iDAA8C;AAArC,6GAAA,YAAY,OAAA;AACrB,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA","sourcesContent":["export { getArtifact } from './get-artifact'\nexport { headArtifact } from './head-artifact'\nexport { putArtifact } from './put-artifact'\nexport { artifactsEvents } from './artifacts-events'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/remote-cache/routes/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,iDAA8C;AAArC,6GAAA,YAAY,OAAA;AACrB,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,2CAAwC;AAA/B,uGAAA,SAAS,OAAA","sourcesContent":["export { getArtifact } from './get-artifact'\nexport { headArtifact } from './head-artifact'\nexport { putArtifact } from './put-artifact'\nexport { artifactsEvents } from './artifacts-events'\nexport { getStatus } from './get-status'\n"]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.statusRouteSchema = void 0;
4
+ const typebox_1 = require("@sinclair/typebox");
5
+ const querystring = typebox_1.Type.Object({}, { additionalParameters: false });
6
+ const params = typebox_1.Type.Object({}, { additionalParameters: false });
7
+ exports.statusRouteSchema = {
8
+ querystring,
9
+ params,
10
+ };
11
+ //# sourceMappingURL=status-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-schema.js","sourceRoot":"","sources":["../../../../src/plugins/remote-cache/routes/status-schema.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEhD,MAAM,WAAW,GAAG,cAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAA;AAGpE,MAAM,MAAM,GAAG,cAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAA;AAGlD,QAAA,iBAAiB,GAAG;IAC/B,WAAW;IACX,MAAM;CACP,CAAA","sourcesContent":["import { Static, Type } from '@sinclair/typebox'\n\nconst querystring = Type.Object({}, { additionalParameters: false })\nexport type Querystring = Static<typeof querystring>\n\nconst params = Type.Object({}, { additionalParameters: false })\nexport type Params = Static<typeof params>\n\nexport const statusRouteSchema = {\n querystring,\n params,\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "turborepo-remote-cache",
3
- "version": "1.7.3",
3
+ "version": "1.8.0",
4
4
  "description": "Turborepo remote cache server",
5
5
  "main": "build",
6
6
  "author": "Maksim Sinik <maksim@sinik.it>",
@@ -9,18 +9,18 @@
9
9
  "turborepo-remote-cache": "./build/cli.js"
10
10
  },
11
11
  "scripts": {
12
- "prebuild": "npm run lint && rimraf ./build",
12
+ "preinstall": "npx only-allow pnpm",
13
+ "prebuild": "pnpm lint && rimraf ./build",
13
14
  "build": "tsc -p ./tsconfig.json",
14
15
  "start": "node --enable-source-maps build/index.js",
15
- "update": "npx npm-check -u",
16
16
  "lint": "eslint --ext .ts --no-error-on-unmatched-pattern \"src/**/*.ts\" \"test/**/*.ts\"",
17
17
  "dev": "tsup --watch --onSuccess \"run-p dev:start check:types\"",
18
18
  "dev:start": "node --inspect -r @cspotcode/source-map-support/register -r dotenv/config build/index.js",
19
19
  "check:types": "tsc -p ./tsconfig.json --noEmit",
20
20
  "test": "cross-env TS_NODE_PROJECT=./test/tsconfig.json tap --ts",
21
- "posttest": "tap --coverage-report=lcov",
22
- "test:watch": "npm run test -- --watch",
23
- "test:report": "npm run test -- --output-file=out.tap && tap-mocha-reporter xunit < out.tap > junit-testresults.xml",
21
+ "posttest": "tap --coverage-report=lcov --no-browser",
22
+ "test:watch": "pnpm test -- --watch",
23
+ "test:report": "pnpm test -- --output-file=out.tap && tap-mocha-reporter xunit < out.tap > junit-testresults.xml",
24
24
  "commitlint": "commitlint",
25
25
  "semantic-release": "semantic-release",
26
26
  "commit": "npx git-cz",
@@ -31,25 +31,26 @@
31
31
  "url": "git+https://github.com/ducktors/turborepo-remote-cache.git"
32
32
  },
33
33
  "dependencies": {
34
- "@google-cloud/storage": "^6.4.1",
35
- "@hapi/boom": "^9.1.4",
36
- "@sinclair/typebox": "^0.23.1",
37
- "@vercel/node": "^1.12.1",
38
- "ajv": "^8.8.2",
39
- "aws-sdk": "^2.1053.0",
40
- "boom": "^7.3.0",
41
- "close-with-grace": "^1.1.0",
42
- "env-schema": "^3.5.0",
43
- "fastify": "^3.25.0",
44
- "fastify-autoload": "^3.9.0",
45
- "fastify-plugin": "^3.0.0",
46
- "fs-blob-store": "^6.0.0",
47
- "hyperid": "^2.3.1",
48
- "make-promises-safe": "^5.1.0",
49
- "pino": "^6.13.3",
50
- "pino-pretty": "^7.3.0",
51
- "s3-blob-store": "^4.1.1",
52
- "tslib": "^2.3.1"
34
+ "@commitlint/lint": "^17.2.0",
35
+ "@google-cloud/storage": "6.4.1",
36
+ "@hapi/boom": "9.1.4",
37
+ "@sinclair/typebox": "0.23.1",
38
+ "@vercel/node": "1.12.1",
39
+ "ajv": "8.11.0",
40
+ "aws-sdk": "2.1053.0",
41
+ "boom": "7.3.0",
42
+ "close-with-grace": "1.1.0",
43
+ "env-schema": "5.1.0",
44
+ "fastify": "3.25.0",
45
+ "fastify-autoload": "3.9.0",
46
+ "fastify-plugin": "3.0.0",
47
+ "fs-blob-store": "6.0.0",
48
+ "hyperid": "2.3.1",
49
+ "make-promises-safe": "5.1.0",
50
+ "pino": "6.13.3",
51
+ "pino-pretty": "7.3.0",
52
+ "s3-blob-store": "4.1.1",
53
+ "tslib": "2.3.1"
53
54
  },
54
55
  "devDependencies": {
55
56
  "@commitlint/cli": "^17.1.2",
@@ -89,11 +90,6 @@
89
90
  "tsup": "^5.11.6",
90
91
  "typescript": "^4.5.4"
91
92
  },
92
- "config": {
93
- "commitizen": {
94
- "path": "./node_modules/cz-conventional-changelog"
95
- }
96
- },
97
93
  "bugs": {
98
94
  "url": "https://github.com/ducktors/turborepo-remote-cache/issues"
99
95
  },