@scalar/types 0.1.13 → 0.1.14

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.
Files changed (69) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/api-reference/api-reference-configuration.d.ts +9 -9
  3. package/dist/api-reference/api-reference-configuration.d.ts.map +1 -1
  4. package/dist/api-reference/api-reference-configuration.js +271 -289
  5. package/dist/api-reference/api-reference-configuration.js.map +7 -0
  6. package/dist/api-reference/api-reference-configuration.test.js +224 -0
  7. package/dist/api-reference/api-reference-configuration.test.js.map +7 -0
  8. package/dist/api-reference/api-reference-plugin.js +24 -22
  9. package/dist/api-reference/api-reference-plugin.js.map +7 -0
  10. package/dist/api-reference/authentication-configuration.d.ts +2 -2
  11. package/dist/api-reference/authentication-configuration.d.ts.map +1 -1
  12. package/dist/api-reference/authentication-configuration.js +1 -0
  13. package/dist/api-reference/authentication-configuration.js.map +7 -0
  14. package/dist/api-reference/authentication-configuration.test-d.js +45 -0
  15. package/dist/api-reference/authentication-configuration.test-d.js.map +7 -0
  16. package/dist/api-reference/html-api.d.ts +1 -1
  17. package/dist/api-reference/html-api.d.ts.map +1 -1
  18. package/dist/api-reference/html-api.js +1 -0
  19. package/dist/api-reference/html-api.js.map +7 -0
  20. package/dist/api-reference/html-rendering-configuration.d.ts +1 -1
  21. package/dist/api-reference/html-rendering-configuration.d.ts.map +1 -1
  22. package/dist/api-reference/html-rendering-configuration.js +19 -21
  23. package/dist/api-reference/html-rendering-configuration.js.map +7 -0
  24. package/dist/api-reference/index.d.ts +4 -5
  25. package/dist/api-reference/index.d.ts.map +1 -1
  26. package/dist/api-reference/index.js +17 -3
  27. package/dist/api-reference/index.js.map +7 -0
  28. package/dist/entities/index.d.ts +1 -1
  29. package/dist/entities/index.d.ts.map +1 -1
  30. package/dist/entities/index.js +21 -1
  31. package/dist/entities/index.js.map +7 -0
  32. package/dist/entities/security-scheme.js +116 -157
  33. package/dist/entities/security-scheme.js.map +7 -0
  34. package/dist/entities/security-scheme.test.js +311 -0
  35. package/dist/entities/security-scheme.test.js.map +7 -0
  36. package/dist/index.d.ts +2 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +3 -4
  39. package/dist/index.js.map +7 -0
  40. package/dist/legacy/index.d.ts +1 -1
  41. package/dist/legacy/index.d.ts.map +1 -1
  42. package/dist/legacy/index.js +2 -1
  43. package/dist/legacy/index.js.map +7 -0
  44. package/dist/legacy/reference-config.d.ts +2 -2
  45. package/dist/legacy/reference-config.d.ts.map +1 -1
  46. package/dist/legacy/reference-config.js +10 -8
  47. package/dist/legacy/reference-config.js.map +7 -0
  48. package/dist/snippetz/index.d.ts +1 -1
  49. package/dist/snippetz/index.d.ts.map +1 -1
  50. package/dist/snippetz/index.js +2 -1
  51. package/dist/snippetz/index.js.map +7 -0
  52. package/dist/snippetz/snippetz.js +39 -40
  53. package/dist/snippetz/snippetz.js.map +7 -0
  54. package/dist/snippetz/snippetz.test-d.js +28 -0
  55. package/dist/snippetz/snippetz.test-d.js.map +7 -0
  56. package/dist/utils/index.d.ts +2 -2
  57. package/dist/utils/index.d.ts.map +1 -1
  58. package/dist/utils/index.js +5 -1
  59. package/dist/utils/index.js.map +7 -0
  60. package/dist/utils/nanoid.js +7 -11
  61. package/dist/utils/nanoid.js.map +7 -0
  62. package/dist/utils/nanoid.test.js +29 -0
  63. package/dist/utils/nanoid.test.js.map +7 -0
  64. package/dist/utils/utility-types.js +1 -0
  65. package/dist/utils/utility-types.js.map +7 -0
  66. package/package.json +5 -9
  67. package/dist/api-reference/helpers/migrate-theme-variables.d.ts +0 -10
  68. package/dist/api-reference/helpers/migrate-theme-variables.d.ts.map +0 -1
  69. package/dist/api-reference/helpers/migrate-theme-variables.js +0 -22
@@ -0,0 +1,28 @@
1
+ import { assertType, describe, it } from "vitest";
2
+ describe("TargetId", () => {
3
+ it("has node as a target", () => {
4
+ const target = "node";
5
+ assertType(target);
6
+ });
7
+ it("target doesn\u2019t exist", () => {
8
+ const target = "foo";
9
+ assertType(target);
10
+ });
11
+ it("has undici as a client", () => {
12
+ const client = "undici";
13
+ assertType(client);
14
+ });
15
+ it("client doesn\u2019t exist", () => {
16
+ const client = "does-not-exist";
17
+ assertType(client);
18
+ });
19
+ it("client exists, but target doesn\u2019t", () => {
20
+ const client = "undici";
21
+ assertType(client);
22
+ });
23
+ it("client does exist, but not for the given target", () => {
24
+ const client = "undici";
25
+ assertType(client);
26
+ });
27
+ });
28
+ //# sourceMappingURL=snippetz.test-d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/snippetz/snippetz.test-d.ts"],
4
+ "sourcesContent": ["import { assertType, describe, it } from 'vitest'\n\nimport type { ClientId, TargetId } from './index'\n\ndescribe('TargetId', () => {\n it('has node as a target', () => {\n const target = 'node'\n\n assertType<TargetId>(target)\n })\n\n it('target doesn\u2019t exist', () => {\n const target = 'foo'\n\n // @ts-expect-error target doesn\u2019t exist\n assertType<TargetId>(target)\n })\n\n it('has undici as a client', () => {\n const client = 'undici'\n\n assertType<ClientId<'node'>>(client)\n })\n\n it('client doesn\u2019t exist', () => {\n const client = 'does-not-exist'\n\n // @ts-expect-error client doesn\u2019t exist\n assertType<ClientId<'node'>>(client)\n })\n\n it('client exists, but target doesn\u2019t', () => {\n const client = 'undici'\n\n // @ts-expect-error client exists, but target doesn\u2019t\n assertType<ClientId<'foobar'>>(client)\n })\n\n it('client does exist, but not for the given target', () => {\n const client = 'undici'\n\n // @ts-expect-error client does exist, but not for the given target\n assertType<ClientId<'shell'>>(client)\n })\n})\n"],
5
+ "mappings": "AAAA,SAAS,YAAY,UAAU,UAAU;AAIzC,SAAS,YAAY,MAAM;AACzB,KAAG,wBAAwB,MAAM;AAC/B,UAAM,SAAS;AAEf,eAAqB,MAAM;AAAA,EAC7B,CAAC;AAED,KAAG,6BAAwB,MAAM;AAC/B,UAAM,SAAS;AAGf,eAAqB,MAAM;AAAA,EAC7B,CAAC;AAED,KAAG,0BAA0B,MAAM;AACjC,UAAM,SAAS;AAEf,eAA6B,MAAM;AAAA,EACrC,CAAC;AAED,KAAG,6BAAwB,MAAM;AAC/B,UAAM,SAAS;AAGf,eAA6B,MAAM;AAAA,EACrC,CAAC;AAED,KAAG,0CAAqC,MAAM;AAC5C,UAAM,SAAS;AAGf,eAA+B,MAAM;AAAA,EACvC,CAAC;AAED,KAAG,mDAAmD,MAAM;AAC1D,UAAM,SAAS;AAGf,eAA8B,MAAM;AAAA,EACtC,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -1,3 +1,3 @@
1
- export type { UnknownObject } from './utility-types.ts';
2
- export { type ENTITY_BRANDS, nanoidSchema } from './nanoid.ts';
1
+ export type { UnknownObject } from './utility-types.js';
2
+ export { type ENTITY_BRANDS, nanoidSchema } from './nanoid.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA"}
@@ -1 +1,5 @@
1
- export { nanoidSchema } from './nanoid.js';
1
+ import { nanoidSchema } from "./nanoid.js";
2
+ export {
3
+ nanoidSchema
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/index.ts"],
4
+ "sourcesContent": ["export type { UnknownObject } from './utility-types'\nexport { type ENTITY_BRANDS, nanoidSchema } from './nanoid'\n"],
5
+ "mappings": "AACA,SAA6B,oBAAoB;",
6
+ "names": []
7
+ }
@@ -1,11 +1,7 @@
1
- import { nanoid } from 'nanoid';
2
- import { z } from 'zod';
3
-
4
- /** Generates a default value */
5
- const nanoidSchema = z
6
- .string()
7
- .min(7)
8
- .optional()
9
- .default(() => nanoid());
10
-
11
- export { nanoidSchema };
1
+ import { nanoid } from "nanoid";
2
+ import { z } from "zod";
3
+ const nanoidSchema = z.string().min(7).optional().default(() => nanoid());
4
+ export {
5
+ nanoidSchema
6
+ };
7
+ //# sourceMappingURL=nanoid.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/nanoid.ts"],
4
+ "sourcesContent": ["import { nanoid } from 'nanoid'\nimport { z } from 'zod'\n\n/** Generates a default value */\nexport const nanoidSchema = z\n .string()\n .min(7)\n .optional()\n .default(() => nanoid())\n\n/** UID format for objects */\nexport type Nanoid = z.infer<typeof nanoidSchema>\n\n/** All of our Zod brands for entities, used to brand nanoidSchemas. */\nexport type ENTITY_BRANDS = {\n COLLECTION: 'collection'\n COOKIE: 'cookie'\n ENVIRONMENT: 'environment'\n EXAMPLE: 'example'\n OPERATION: 'operation'\n SECURITY_SCHEME: 'securityScheme'\n SERVER: 'server'\n TAG: 'tag'\n WORKSPACE: 'workspace'\n}\n"],
5
+ "mappings": "AAAA,SAAS,cAAc;AACvB,SAAS,SAAS;AAGX,MAAM,eAAe,EACzB,OAAO,EACP,IAAI,CAAC,EACL,SAAS,EACT,QAAQ,MAAM,OAAO,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,29 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { nanoidSchema } from "./nanoid.js";
3
+ import { z } from "zod";
4
+ describe("nanoidSchema", () => {
5
+ it("should generate a string with minimum length of 7 characters when no value is provided", () => {
6
+ const result = nanoidSchema.parse(void 0);
7
+ expect(typeof result).toBe("string");
8
+ expect(result.length).toBeGreaterThanOrEqual(7);
9
+ });
10
+ it("should accept valid strings with length >= 7", () => {
11
+ const validString = "1234567";
12
+ const result = nanoidSchema.parse(validString);
13
+ expect(result).toBe(validString);
14
+ });
15
+ it("should reject strings shorter than 7 characters", () => {
16
+ const invalidString = "123456";
17
+ expect(() => nanoidSchema.parse(invalidString)).toThrow(z.ZodError);
18
+ });
19
+ it("should generate different IDs for multiple calls", () => {
20
+ const id1 = nanoidSchema.parse(void 0);
21
+ const id2 = nanoidSchema.parse(void 0);
22
+ expect(id1).not.toBe(id2);
23
+ });
24
+ it("should properly type the generated ID as Nanoid", () => {
25
+ const id = nanoidSchema.parse(void 0);
26
+ expect(typeof id).toBe("string");
27
+ });
28
+ });
29
+ //# sourceMappingURL=nanoid.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/nanoid.test.ts"],
4
+ "sourcesContent": ["import { describe, it, expect } from 'vitest'\nimport { nanoidSchema, type Nanoid } from './nanoid'\nimport { z } from 'zod'\n\ndescribe('nanoidSchema', () => {\n it('should generate a string with minimum length of 7 characters when no value is provided', () => {\n const result = nanoidSchema.parse(undefined)\n expect(typeof result).toBe('string')\n expect(result.length).toBeGreaterThanOrEqual(7)\n })\n\n it('should accept valid strings with length >= 7', () => {\n const validString = '1234567'\n const result = nanoidSchema.parse(validString)\n expect(result).toBe(validString)\n })\n\n it('should reject strings shorter than 7 characters', () => {\n const invalidString = '123456'\n expect(() => nanoidSchema.parse(invalidString)).toThrow(z.ZodError)\n })\n\n it('should generate different IDs for multiple calls', () => {\n const id1 = nanoidSchema.parse(undefined)\n const id2 = nanoidSchema.parse(undefined)\n expect(id1).not.toBe(id2)\n })\n\n it('should properly type the generated ID as Nanoid', () => {\n const id: Nanoid = nanoidSchema.parse(undefined)\n expect(typeof id).toBe('string')\n })\n})\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,IAAI,cAAc;AACrC,SAAS,oBAAiC;AAC1C,SAAS,SAAS;AAElB,SAAS,gBAAgB,MAAM;AAC7B,KAAG,0FAA0F,MAAM;AACjG,UAAM,SAAS,aAAa,MAAM,MAAS;AAC3C,WAAO,OAAO,MAAM,EAAE,KAAK,QAAQ;AACnC,WAAO,OAAO,MAAM,EAAE,uBAAuB,CAAC;AAAA,EAChD,CAAC;AAED,KAAG,gDAAgD,MAAM;AACvD,UAAM,cAAc;AACpB,UAAM,SAAS,aAAa,MAAM,WAAW;AAC7C,WAAO,MAAM,EAAE,KAAK,WAAW;AAAA,EACjC,CAAC;AAED,KAAG,mDAAmD,MAAM;AAC1D,UAAM,gBAAgB;AACtB,WAAO,MAAM,aAAa,MAAM,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ;AAAA,EACpE,CAAC;AAED,KAAG,oDAAoD,MAAM;AAC3D,UAAM,MAAM,aAAa,MAAM,MAAS;AACxC,UAAM,MAAM,aAAa,MAAM,MAAS;AACxC,WAAO,GAAG,EAAE,IAAI,KAAK,GAAG;AAAA,EAC1B,CAAC;AAED,KAAG,mDAAmD,MAAM;AAC1D,UAAM,KAAa,aAAa,MAAM,MAAS;AAC/C,WAAO,OAAO,EAAE,EAAE,KAAK,QAAQ;AAAA,EACjC,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=utility-types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "scalar",
17
17
  "references"
18
18
  ],
19
- "version": "0.1.13",
19
+ "version": "0.1.14",
20
20
  "engines": {
21
21
  "node": ">=18"
22
22
  },
@@ -59,22 +59,18 @@
59
59
  "CHANGELOG.md"
60
60
  ],
61
61
  "dependencies": {
62
- "@unhead/schema": "^1.11.11",
63
62
  "nanoid": "^5.1.5",
64
- "type-fest": "^4.20.0",
65
63
  "zod": "3.24.1",
66
- "@scalar/openapi-types": "0.2.1"
64
+ "@scalar/openapi-types": "0.2.2"
67
65
  },
68
66
  "devDependencies": {
69
67
  "@types/har-format": "^1.2.15",
68
+ "type-fest": "^4.20.0",
70
69
  "vite": "^5.4.10",
71
- "vitest": "^1.6.0",
72
- "@scalar/build-tooling": "0.1.18"
70
+ "@scalar/build-tooling": "0.1.19"
73
71
  },
74
72
  "scripts": {
75
- "build": "scalar-build-rollup",
76
- "format": "scalar-format",
77
- "format:check": "scalar-format-check",
73
+ "build": "scalar-build-esbuild",
78
74
  "lint:check": "scalar-lint-check",
79
75
  "lint:fix": "scalar-lint-fix",
80
76
  "test": "vitest",
@@ -1,10 +0,0 @@
1
- /** The legacy -> updated CSS variable prefix pairs */
2
- export declare const PREFIX_MIGRATIONS: readonly [readonly ["--theme-", "--scalar-"], readonly ["--sidebar-", "--scalar-sidebar-"]];
3
- export declare const LEGACY_PREFIXES: ("--theme-" | "--sidebar-")[];
4
- /**
5
- * Checks a style string for legacy theme variables and updated them to the new theme variables
6
- *
7
- * @param styles the style string to be checked for legacy theme variables and updated
8
- */
9
- export declare function migrateThemeVariables(styles: string): string;
10
- //# sourceMappingURL=migrate-theme-variables.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate-theme-variables.d.ts","sourceRoot":"","sources":["../../../src/api-reference/helpers/migrate-theme-variables.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,6FAGpB,CAAA;AAEV,eAAO,MAAM,eAAe,+BAA8C,CAAA;AAE1E;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D"}
@@ -1,22 +0,0 @@
1
- /** The legacy -> updated CSS variable prefix pairs */
2
- const PREFIX_MIGRATIONS = [
3
- ['--theme-', '--scalar-'],
4
- ['--sidebar-', '--scalar-sidebar-'],
5
- ];
6
- const LEGACY_PREFIXES = PREFIX_MIGRATIONS.map(([legacy]) => legacy);
7
- /**
8
- * Checks a style string for legacy theme variables and updated them to the new theme variables
9
- *
10
- * @param styles the style string to be checked for legacy theme variables and updated
11
- */
12
- function migrateThemeVariables(styles) {
13
- const hasLegacyPrefixes = LEGACY_PREFIXES.some((p) => styles.includes(p));
14
- if (!hasLegacyPrefixes) {
15
- return styles;
16
- }
17
- console.warn(`DEPRECATION WARNING: It looks like you're using legacy CSS variables in your custom CSS string. Please migrate them to use the updated prefixes. See https://github.com/scalar/scalar/blob/main/documentation/themes.md#theme-prefix-changes`);
18
- // Replaces each old variable in the prefix migrations
19
- return PREFIX_MIGRATIONS.reduce((s, [o, n]) => s.replaceAll(o, n), styles);
20
- }
21
-
22
- export { LEGACY_PREFIXES, PREFIX_MIGRATIONS, migrateThemeVariables };