@scalar/mock-server 0.2.114 → 0.2.116

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/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @scalar/mock-server
2
2
 
3
+ ## 0.2.116
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [4db5161]
8
+ - @scalar/oas-utils@0.2.109
9
+ - @scalar/openapi-parser@0.10.9
10
+
11
+ ## 0.2.115
12
+
13
+ ### Patch Changes
14
+
15
+ - c10bbf5: chore: code style
16
+ - Updated dependencies [9fc97da]
17
+ - Updated dependencies [12088f1]
18
+ - Updated dependencies [c10bbf5]
19
+ - @scalar/oas-utils@0.2.108
20
+ - @scalar/openapi-parser@0.10.9
21
+ - @scalar/openapi-types@0.1.9
22
+
3
23
  ## 0.2.114
4
24
 
5
25
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"createMockServer.d.ts","sourceRoot":"","sources":["../src/createMockServer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAA;AAGzC,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAW5D;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,uFAoDhE"}
1
+ {"version":3,"file":"createMockServer.d.ts","sourceRoot":"","sources":["../src/createMockServer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAgB,MAAM,MAAM,CAAA;AAGzC,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAW5D;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,uFA+ChE"}
@@ -24,8 +24,7 @@ async function createMockServer(options) {
24
24
  app.use(cors());
25
25
  /** Authentication methods defined in the OpenAPI document */
26
26
  setupAuthenticationRoutes(app, schema);
27
- logAuthenticationInstructions(schema?.components?.securitySchemes ||
28
- {});
27
+ logAuthenticationInstructions(schema?.components?.securitySchemes || {});
29
28
  /** Paths specified in the OpenAPI document */
30
29
  const paths = schema?.paths ?? {};
31
30
  Object.keys(paths).forEach((path) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mockAnyResponse.d.ts","sourceRoot":"","sources":["../../src/routes/mockAnyResponse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAMnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGhD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,OAAO,EACV,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,OAAO,EAAE,iBAAiB,YAkF3B"}
1
+ {"version":3,"file":"mockAnyResponse.d.ts","sourceRoot":"","sources":["../../src/routes/mockAnyResponse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAMnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGhD;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,YAuEnG"}
@@ -17,9 +17,7 @@ function mockAnyResponse(c, operation, options) {
17
17
  // Response
18
18
  // default, 200, 201 …
19
19
  const preferredResponseKey = findPreferredResponseKey(Object.keys(operation.responses ?? {}));
20
- const preferredResponse = preferredResponseKey
21
- ? operation.responses?.[preferredResponseKey]
22
- : null;
20
+ const preferredResponse = preferredResponseKey ? operation.responses?.[preferredResponseKey] : null;
23
21
  if (!preferredResponse) {
24
22
  c.status(500);
25
23
  return c.json({ error: 'No response defined for this operation.' });
@@ -28,9 +26,7 @@ function mockAnyResponse(c, operation, options) {
28
26
  // Headers
29
27
  const headers = preferredResponse?.headers ?? {};
30
28
  Object.keys(headers).forEach((header) => {
31
- const value = headers[header].schema
32
- ? getExampleFromSchema(headers[header].schema)
33
- : null;
29
+ const value = headers[header].schema ? getExampleFromSchema(headers[header].schema) : null;
34
30
  if (value !== null) {
35
31
  c.header(header, value);
36
32
  }
@@ -39,9 +35,7 @@ function mockAnyResponse(c, operation, options) {
39
35
  const acceptedContentType = accepts(c, {
40
36
  header: 'Accept',
41
37
  supports: supportedContentTypes,
42
- default: supportedContentTypes.includes('application/json')
43
- ? 'application/json'
44
- : supportedContentTypes[0],
38
+ default: supportedContentTypes.includes('application/json') ? 'application/json' : supportedContentTypes[0],
45
39
  });
46
40
  c.header('Content-Type', acceptedContentType);
47
41
  const acceptedResponse = preferredResponse?.content?.[acceptedContentType];
@@ -56,9 +50,7 @@ function mockAnyResponse(c, operation, options) {
56
50
  })
57
51
  : null;
58
52
  // Status code
59
- const statusCode = Number.parseInt(preferredResponseKey === 'default'
60
- ? '200'
61
- : (preferredResponseKey ?? '200'), 10);
53
+ const statusCode = Number.parseInt(preferredResponseKey === 'default' ? '200' : (preferredResponseKey ?? '200'), 10);
62
54
  c.status(statusCode);
63
55
  return c.body(typeof body === 'object'
64
56
  ? // XML
@@ -1 +1 @@
1
- {"version":3,"file":"respondWithOpenApiDocument.d.ts","sourceRoot":"","sources":["../../src/routes/respondWithOpenApiDocument.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,CAAC,EAAE,OAAO,EACV,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,MAAM,GAAE,MAAM,GAAG,MAAe;;;;;;;;kBAyCjC"}
1
+ {"version":3,"file":"respondWithOpenApiDocument.d.ts","sourceRoot":"","sources":["../../src/routes/respondWithOpenApiDocument.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,CAAC,EAAE,OAAO,EACV,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,MAAM,GAAE,MAAM,GAAG,MAAe;;;;;;;;kBAuCjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"respondWithToken.d.ts","sourceRoot":"","sources":["../../src/routes/respondWithToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAKnC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;yDAuD1C"}
1
+ {"version":3,"file":"respondWithToken.d.ts","sourceRoot":"","sources":["../../src/routes/respondWithToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAKnC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO;;;;;;;;;yDAmD1C"}
@@ -12,11 +12,7 @@ function respondWithToken(c) {
12
12
  }, 400);
13
13
  }
14
14
  // Validate supported grant types
15
- const supportedGrantTypes = [
16
- 'authorization_code',
17
- 'client_credentials',
18
- 'refresh_token',
19
- ];
15
+ const supportedGrantTypes = ['authorization_code', 'client_credentials', 'refresh_token'];
20
16
  if (!supportedGrantTypes.includes(grantType)) {
21
17
  return c.json({
22
18
  error: 'unsupported_grant_type',
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,6CAA6C;AAC7C,eAAO,MAAM,WAAW,+DAOd,CAAA;AAEV,wBAAwB;AACxB,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE3C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAA;KAAE,KAAK,IAAI,CAAA;CAC/E,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,6CAA6C;AAC7C,eAAO,MAAM,WAAW,+DAAgE,CAAA;AAExF,wBAAwB;AACxB,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE3C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAA;KAAE,KAAK,IAAI,CAAA;CAC/E,CAAA"}
package/dist/types.js CHANGED
@@ -1,11 +1,4 @@
1
1
  /** Available HTTP methods for Hono routes */
2
- const httpMethods = [
3
- 'get',
4
- 'put',
5
- 'post',
6
- 'delete',
7
- 'options',
8
- 'patch',
9
- ];
2
+ const httpMethods = ['get', 'put', 'post', 'delete', 'options', 'patch'];
10
3
 
11
4
  export { httpMethods };
@@ -1 +1 @@
1
- {"version":3,"file":"createOpenApiDefinition.d.ts","sourceRoot":"","sources":["../../src/utils/createOpenApiDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnE,uEAAuE;AACvE,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,CACrB,MAAM,EACN,SAAS,CAAC,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAClE,GACA,WAAW,CAAC,QAAQ,CAMtB"}
1
+ {"version":3,"file":"createOpenApiDefinition.d.ts","sourceRoot":"","sources":["../../src/utils/createOpenApiDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnE,uEAAuE;AACvE,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAAC,GACjG,WAAW,CAAC,QAAQ,CAMtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"findPreferredResponseKey.d.ts","sourceRoot":"","sources":["../../src/utils/findPreferredResponseKey.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,sBAU5D"}
1
+ {"version":3,"file":"findPreferredResponseKey.d.ts","sourceRoot":"","sources":["../../src/utils/findPreferredResponseKey.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,sBAQ5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOpenAuthTokenUrls.d.ts","sourceRoot":"","sources":["../../src/utils/getOpenAuthTokenUrls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA0B,MAAM,uBAAuB,CAAA;AAE5E;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAclD;AAiBD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,EAAE,CAgCxE"}
1
+ {"version":3,"file":"getOpenAuthTokenUrls.d.ts","sourceRoot":"","sources":["../../src/utils/getOpenAuthTokenUrls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA0B,MAAM,uBAAuB,CAAA;AAE5E;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYlD;AAiBD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,EAAE,CA8BxE"}
@@ -4,9 +4,7 @@
4
4
  function getPathFromUrl(url) {
5
5
  try {
6
6
  // Handle relative URLs by prepending a base
7
- const urlObject = url.startsWith('http')
8
- ? new URL(url)
9
- : new URL(url, 'http://example.com');
7
+ const urlObject = url.startsWith('http') ? new URL(url) : new URL(url, 'http://example.com');
10
8
  // Normalize: remove trailing slash except for root path
11
9
  const path = urlObject.pathname;
12
10
  return path === '/' ? path : path.replace(/\/$/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"getOperations.d.ts","sourceRoot":"","sources":["../../src/utils/getOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAEtD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,CAAC,EACD,SAAS,CAAC,cAAc,GACxB,SAAS,CAAC,cAAc,GACxB,WAAW,CAAC,cAAc,GAC7B,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAUvC"}
1
+ {"version":3,"file":"getOperations.d.ts","sourceRoot":"","sources":["../../src/utils/getOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEvF,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAEtD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,GACtF,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAUvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleAuthentication.d.ts","sourceRoot":"","sources":["../../src/utils/handleAuthentication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,EACzB,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,OAEZ,OAAO,QAAQ,MAAM,OAAO,CAAC,IAAI,CAAC;;;8BAoHpD"}
1
+ {"version":3,"file":"handleAuthentication.d.ts","sourceRoot":"","sources":["../../src/utils/handleAuthentication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,OAC1E,OAAO,QAAQ,MAAM,OAAO,CAAC,IAAI,CAAC;;;8BAmHpD"}
@@ -82,8 +82,7 @@ function handleAuthentication(schema, operation) {
82
82
  let wwwAuthenticateValue = authScheme;
83
83
  switch (authScheme) {
84
84
  case 'Basic':
85
- wwwAuthenticateValue +=
86
- ' realm="Scalar Mock Server", charset="UTF-8"';
85
+ wwwAuthenticateValue += ' realm="Scalar Mock Server", charset="UTF-8"';
87
86
  break;
88
87
  case 'Bearer':
89
88
  wwwAuthenticateValue +=
@@ -1 +1 @@
1
- {"version":3,"file":"isAuthenticationRequired.d.ts","sourceRoot":"","sources":["../../src/utils/isAuthenticationRequired.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,CAAC,EAAE,SAAS,CAAC,yBAAyB,EAAE,GAC/C,OAAO,CAqBT"}
1
+ {"version":3,"file":"isAuthenticationRequired.d.ts","sourceRoot":"","sources":["../../src/utils/isAuthenticationRequired.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,yBAAyB,EAAE,GAAG,OAAO,CAiBlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"logAuthenticationInstructions.d.ts","sourceRoot":"","sources":["../../src/utils/logAuthenticationInstructions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAIxD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,oBAAoB,CAAC,QA0IlE"}
1
+ {"version":3,"file":"logAuthenticationInstructions.d.ts","sourceRoot":"","sources":["../../src/utils/logAuthenticationInstructions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAIxD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,oBAAoB,CAAC,QAmH9G"}
@@ -1 +1 @@
1
- {"version":3,"file":"setupAuthenticationRoutes.d.ts","sourceRoot":"","sources":["../../src/utils/setupAuthenticationRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA0B,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAOhC;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,EACT,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,QAuG1B"}
1
+ {"version":3,"file":"setupAuthenticationRoutes.d.ts","sourceRoot":"","sources":["../../src/utils/setupAuthenticationRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA0B,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAOhC;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,QA4F7E"}
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "swagger",
17
17
  "cli"
18
18
  ],
19
- "version": "0.2.114",
19
+ "version": "0.2.116",
20
20
  "engines": {
21
21
  "node": ">=18"
22
22
  },
@@ -38,16 +38,16 @@
38
38
  "dependencies": {
39
39
  "hono": "^4.6.5",
40
40
  "object-to-xml": "^2.0.0",
41
- "@scalar/oas-utils": "0.2.107",
42
- "@scalar/openapi-types": "0.1.8",
43
- "@scalar/openapi-parser": "0.10.8"
41
+ "@scalar/openapi-parser": "0.10.9",
42
+ "@scalar/oas-utils": "0.2.109",
43
+ "@scalar/openapi-types": "0.1.9"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@hono/node-server": "^1.11.0",
47
47
  "@types/node": "^20.17.10",
48
48
  "vite": "^5.4.10",
49
- "@scalar/build-tooling": "0.1.14",
50
- "@scalar/hono-api-reference": "0.5.175"
49
+ "@scalar/build-tooling": "0.1.15",
50
+ "@scalar/hono-api-reference": "0.5.177"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "scalar-build-rollup",