@scalar/workspace-store 0.20.0 → 0.22.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/CHANGELOG.md +58 -0
- package/README.md +2 -2
- package/dist/client.d.ts +54 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +66 -29
- package/dist/client.js.map +2 -2
- package/dist/events/bus.d.ts +14 -2
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/events/bus.js +46 -10
- package/dist/events/bus.js.map +3 -3
- package/dist/events/definitions/auth.d.ts +2 -1
- package/dist/events/definitions/auth.d.ts.map +1 -1
- package/dist/events/definitions/cookie.d.ts +20 -0
- package/dist/events/definitions/cookie.d.ts.map +1 -0
- package/dist/events/definitions/cookie.js +1 -0
- package/dist/events/definitions/cookie.js.map +7 -0
- package/dist/events/definitions/document.d.ts +19 -2
- package/dist/events/definitions/document.d.ts.map +1 -1
- package/dist/events/definitions/index.d.ts +6 -1
- package/dist/events/definitions/index.d.ts.map +1 -1
- package/dist/events/definitions/operation.d.ts +20 -14
- package/dist/events/definitions/operation.d.ts.map +1 -1
- package/dist/events/definitions/server.d.ts +2 -2
- package/dist/events/definitions/server.d.ts.map +1 -1
- package/dist/events/definitions/tabs.d.ts +55 -0
- package/dist/events/definitions/tabs.d.ts.map +1 -0
- package/dist/events/definitions/tabs.js +1 -0
- package/dist/events/definitions/tabs.js.map +7 -0
- package/dist/events/definitions/tag.d.ts +15 -0
- package/dist/events/definitions/tag.d.ts.map +1 -0
- package/dist/events/definitions/tag.js +1 -0
- package/dist/events/definitions/tag.js.map +7 -0
- package/dist/events/definitions/ui.d.ts +131 -39
- package/dist/events/definitions/ui.d.ts.map +1 -1
- package/dist/events/definitions/workspace.d.ts +18 -0
- package/dist/events/definitions/workspace.d.ts.map +1 -0
- package/dist/events/definitions/workspace.js +1 -0
- package/dist/events/definitions/workspace.js.map +7 -0
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js.map +2 -2
- package/dist/helpers/generate-unique-value.d.ts +19 -6
- package/dist/helpers/generate-unique-value.d.ts.map +1 -1
- package/dist/helpers/generate-unique-value.js +12 -7
- package/dist/helpers/generate-unique-value.js.map +2 -2
- package/dist/helpers/unpack-proxy.d.ts +14 -1
- package/dist/helpers/unpack-proxy.d.ts.map +1 -1
- package/dist/helpers/unpack-proxy.js +51 -1
- package/dist/helpers/unpack-proxy.js.map +3 -3
- package/dist/mutators/auth.d.ts +7 -2
- package/dist/mutators/auth.d.ts.map +1 -1
- package/dist/mutators/auth.js +24 -21
- package/dist/mutators/auth.js.map +2 -2
- package/dist/mutators/cookie.d.ts +21 -13
- package/dist/mutators/cookie.d.ts.map +1 -1
- package/dist/mutators/cookie.js +34 -26
- package/dist/mutators/cookie.js.map +3 -3
- package/dist/mutators/document.d.ts +12 -2
- package/dist/mutators/document.d.ts.map +1 -1
- package/dist/mutators/document.js +42 -3
- package/dist/mutators/document.js.map +2 -2
- package/dist/mutators/index.d.ts +30 -20
- package/dist/mutators/index.d.ts.map +1 -1
- package/dist/mutators/index.js +38 -9
- package/dist/mutators/index.js.map +2 -2
- package/dist/mutators/operation.d.ts +49 -108
- package/dist/mutators/operation.d.ts.map +1 -1
- package/dist/mutators/operation.js +198 -94
- package/dist/mutators/operation.js.map +2 -2
- package/dist/mutators/request.d.ts +2 -1
- package/dist/mutators/request.d.ts.map +1 -1
- package/dist/mutators/request.js.map +1 -1
- package/dist/mutators/server.d.ts +1 -1
- package/dist/mutators/server.d.ts.map +1 -1
- package/dist/mutators/server.js +6 -5
- package/dist/mutators/server.js.map +2 -2
- package/dist/mutators/tabs.d.ts +44 -0
- package/dist/mutators/tabs.d.ts.map +1 -0
- package/dist/mutators/tabs.js +133 -0
- package/dist/mutators/tabs.js.map +7 -0
- package/dist/mutators/tag.d.ts +12 -0
- package/dist/mutators/tag.d.ts.map +1 -0
- package/dist/mutators/tag.js +19 -0
- package/dist/mutators/tag.js.map +7 -0
- package/dist/mutators/workspace.d.ts +6 -0
- package/dist/mutators/workspace.d.ts.map +1 -0
- package/dist/mutators/workspace.js +24 -0
- package/dist/mutators/workspace.js.map +7 -0
- package/dist/navigation/get-navigation-options.d.ts.map +1 -1
- package/dist/navigation/get-navigation-options.js +4 -4
- package/dist/navigation/get-navigation-options.js.map +2 -2
- package/dist/navigation/helpers/get-openapi-object.d.ts +35 -0
- package/dist/navigation/helpers/get-openapi-object.d.ts.map +1 -0
- package/dist/navigation/helpers/get-openapi-object.js +31 -0
- package/dist/navigation/helpers/get-openapi-object.js.map +7 -0
- package/dist/navigation/helpers/get-operation-entries.d.ts +24 -0
- package/dist/navigation/helpers/get-operation-entries.d.ts.map +1 -0
- package/dist/navigation/helpers/get-operation-entries.js +33 -0
- package/dist/navigation/helpers/get-operation-entries.js.map +7 -0
- package/dist/navigation/helpers/get-parent-entry.d.ts +15 -0
- package/dist/navigation/helpers/get-parent-entry.d.ts.map +1 -0
- package/dist/navigation/helpers/get-parent-entry.js +13 -0
- package/dist/navigation/helpers/get-parent-entry.js.map +7 -0
- package/dist/navigation/helpers/traverse-description.d.ts +0 -1
- package/dist/navigation/helpers/traverse-description.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-description.js +0 -1
- package/dist/navigation/helpers/traverse-description.js.map +2 -2
- package/dist/navigation/helpers/traverse-document.d.ts +1 -0
- package/dist/navigation/helpers/traverse-document.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-document.js +16 -2
- package/dist/navigation/helpers/traverse-document.js.map +2 -2
- package/dist/navigation/helpers/traverse-examples.js +2 -2
- package/dist/navigation/helpers/traverse-examples.js.map +2 -2
- package/dist/navigation/helpers/traverse-paths.d.ts +6 -3
- package/dist/navigation/helpers/traverse-paths.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-paths.js +5 -10
- package/dist/navigation/helpers/traverse-paths.js.map +2 -2
- package/dist/navigation/helpers/traverse-tags.d.ts +0 -1
- package/dist/navigation/helpers/traverse-tags.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-tags.js +57 -49
- package/dist/navigation/helpers/traverse-tags.js.map +3 -3
- package/dist/navigation/helpers/utils.d.ts +2 -1
- package/dist/navigation/helpers/utils.d.ts.map +1 -1
- package/dist/navigation/helpers/utils.js.map +1 -1
- package/dist/navigation/index.d.ts +2 -1
- package/dist/navigation/index.d.ts.map +1 -1
- package/dist/navigation/index.js +5 -3
- package/dist/navigation/index.js.map +2 -2
- package/dist/persistence/index.d.ts +6 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +18 -0
- package/dist/persistence/index.js.map +2 -2
- package/dist/persistence/indexdb.d.ts +1 -0
- package/dist/persistence/indexdb.d.ts.map +1 -1
- package/dist/persistence/indexdb.js +6 -1
- package/dist/persistence/indexdb.js.map +2 -2
- package/dist/plugins/client/persistence.d.ts.map +1 -1
- package/dist/plugins/client/persistence.js +6 -0
- package/dist/plugins/client/persistence.js.map +2 -2
- package/dist/schemas/extensions/document/x-scalar-environments.d.ts +1 -0
- package/dist/schemas/extensions/document/x-scalar-environments.d.ts.map +1 -1
- package/dist/schemas/extensions/document/x-scalar-environments.js.map +2 -2
- package/dist/schemas/extensions/document/x-scalar-set-operation-security.d.ts +13 -0
- package/dist/schemas/extensions/document/x-scalar-set-operation-security.d.ts.map +1 -0
- package/dist/schemas/extensions/document/x-scalar-set-operation-security.js +8 -0
- package/dist/schemas/extensions/document/x-scalar-set-operation-security.js.map +7 -0
- package/dist/schemas/extensions/general/x-scalar-cookies.d.ts +36 -0
- package/dist/schemas/extensions/general/x-scalar-cookies.d.ts.map +1 -0
- package/dist/schemas/extensions/general/x-scalar-cookies.js +15 -0
- package/dist/schemas/extensions/general/x-scalar-cookies.js.map +7 -0
- package/dist/schemas/extensions/general/x-scalar-order.d.ts +12 -0
- package/dist/schemas/extensions/general/x-scalar-order.d.ts.map +1 -0
- package/dist/schemas/extensions/general/x-scalar-order.js +8 -0
- package/dist/schemas/extensions/general/x-scalar-order.js.map +7 -0
- package/dist/schemas/extensions/operation/index.d.ts +4 -1
- package/dist/schemas/extensions/operation/index.d.ts.map +1 -1
- package/dist/schemas/extensions/operation/index.js +22 -0
- package/dist/schemas/extensions/operation/index.js.map +3 -3
- package/dist/schemas/extensions/operation/x-code-samples.d.ts +0 -5
- package/dist/schemas/extensions/operation/x-code-samples.d.ts.map +1 -1
- package/dist/schemas/extensions/operation/x-code-samples.js +0 -1
- package/dist/schemas/extensions/operation/x-code-samples.js.map +2 -2
- package/dist/schemas/extensions/operation/x-post-response.d.ts +0 -18
- package/dist/schemas/extensions/operation/x-post-response.d.ts.map +1 -1
- package/dist/schemas/extensions/operation/x-post-response.js.map +1 -1
- package/dist/schemas/extensions/tag/x-tag-groups.d.ts +8 -14
- package/dist/schemas/extensions/tag/x-tag-groups.d.ts.map +1 -1
- package/dist/schemas/extensions/tag/x-tag-groups.js +15 -11
- package/dist/schemas/extensions/tag/x-tag-groups.js.map +2 -2
- package/dist/schemas/extensions/workspace/index.d.ts +4 -0
- package/dist/schemas/extensions/workspace/index.d.ts.map +1 -0
- package/dist/schemas/extensions/workspace/index.js +15 -0
- package/dist/schemas/extensions/workspace/index.js.map +7 -0
- package/dist/schemas/extensions/workspace/x-scalar-active-proxy.d.ts +18 -0
- package/dist/schemas/extensions/workspace/x-scalar-active-proxy.d.ts.map +1 -0
- package/dist/schemas/extensions/workspace/x-scalar-active-proxy.js +8 -0
- package/dist/schemas/extensions/workspace/x-scalar-active-proxy.js.map +7 -0
- package/dist/schemas/extensions/workspace/x-scalar-tabs.d.ts +36 -0
- package/dist/schemas/extensions/workspace/x-scalar-tabs.d.ts.map +1 -0
- package/dist/schemas/extensions/workspace/x-scalar-tabs.js +16 -0
- package/dist/schemas/extensions/workspace/x-scalar-tabs.js.map +7 -0
- package/dist/schemas/extensions.d.ts +1 -1
- package/dist/schemas/extensions.js +1 -1
- package/dist/schemas/extensions.js.map +2 -2
- package/dist/schemas/inmemory-workspace.d.ts +46 -33
- package/dist/schemas/inmemory-workspace.d.ts.map +1 -1
- package/dist/schemas/navigation.d.ts +12 -1
- package/dist/schemas/navigation.d.ts.map +1 -1
- package/dist/schemas/navigation.js +2 -1
- package/dist/schemas/navigation.js.map +2 -2
- package/dist/schemas/reference-config/index.d.ts +22 -16
- package/dist/schemas/reference-config/index.d.ts.map +1 -1
- package/dist/schemas/reference-config/settings.d.ts +22 -16
- package/dist/schemas/reference-config/settings.d.ts.map +1 -1
- package/dist/schemas/reference-config/settings.js +2 -0
- package/dist/schemas/reference-config/settings.js.map +2 -2
- package/dist/schemas/v3.1/strict/header.d.ts +0 -45
- package/dist/schemas/v3.1/strict/header.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/header.js +1 -3
- package/dist/schemas/v3.1/strict/header.js.map +2 -2
- package/dist/schemas/v3.1/strict/oauth-flow.d.ts +0 -99
- package/dist/schemas/v3.1/strict/oauth-flow.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/oauth-flow.js +0 -7
- package/dist/schemas/v3.1/strict/oauth-flow.js.map +2 -2
- package/dist/schemas/v3.1/strict/openapi-document.d.ts +756 -552
- package/dist/schemas/v3.1/strict/openapi-document.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/openapi-document.js +10 -11
- package/dist/schemas/v3.1/strict/openapi-document.js.map +2 -2
- package/dist/schemas/v3.1/strict/operation.d.ts +1 -5
- package/dist/schemas/v3.1/strict/operation.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/operation.js +1 -5
- package/dist/schemas/v3.1/strict/operation.js.map +2 -2
- package/dist/schemas/v3.1/strict/parameter.d.ts +1 -101
- package/dist/schemas/v3.1/strict/parameter.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/parameter.js +1 -4
- package/dist/schemas/v3.1/strict/parameter.js.map +2 -2
- package/dist/schemas/v3.1/strict/ref-definitions.d.ts +0 -1
- package/dist/schemas/v3.1/strict/ref-definitions.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/ref-definitions.js +0 -2
- package/dist/schemas/v3.1/strict/ref-definitions.js.map +2 -2
- package/dist/schemas/v3.1/strict/schema.d.ts +28 -11
- package/dist/schemas/v3.1/strict/schema.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/schema.js +2 -2
- package/dist/schemas/v3.1/strict/schema.js.map +2 -2
- package/dist/schemas/v3.1/strict/security-scheme.d.ts +1 -54
- package/dist/schemas/v3.1/strict/security-scheme.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/security-scheme.js +0 -5
- package/dist/schemas/v3.1/strict/security-scheme.js.map +2 -2
- package/dist/schemas/v3.1/strict/tag.d.ts +4 -1
- package/dist/schemas/v3.1/strict/tag.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/tag.js +3 -1
- package/dist/schemas/v3.1/strict/tag.js.map +2 -2
- package/dist/schemas/v3.1/strict/type-guards.d.ts +6 -0
- package/dist/schemas/v3.1/strict/type-guards.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/type-guards.js +4 -0
- package/dist/schemas/v3.1/strict/type-guards.js.map +2 -2
- package/dist/schemas/workspace-specification/config.d.ts +22 -16
- package/dist/schemas/workspace-specification/config.d.ts.map +1 -1
- package/dist/schemas/workspace-specification/index.d.ts +23 -17
- package/dist/schemas/workspace-specification/index.d.ts.map +1 -1
- package/dist/schemas/workspace.d.ts +204 -130
- package/dist/schemas/workspace.d.ts.map +1 -1
- package/dist/schemas/workspace.js +18 -11
- package/dist/schemas/workspace.js.map +2 -2
- package/dist/server.d.ts +1 -1
- package/dist/workspace-plugin.d.ts +3 -0
- package/dist/workspace-plugin.d.ts.map +1 -1
- package/package.json +50 -35
- package/dist/schemas/extensions/document/x-scalar-document-security.d.ts +0 -13
- package/dist/schemas/extensions/document/x-scalar-document-security.d.ts.map +0 -1
- package/dist/schemas/extensions/document/x-scalar-document-security.js +0 -8
- package/dist/schemas/extensions/document/x-scalar-document-security.js.map +0 -7
- package/dist/schemas/extensions/operation/x-scalar-operation-identifiers.d.ts +0 -13
- package/dist/schemas/extensions/operation/x-scalar-operation-identifiers.d.ts.map +0 -1
- package/dist/schemas/extensions/operation/x-scalar-operation-identifiers.js +0 -9
- package/dist/schemas/extensions/operation/x-scalar-operation-identifiers.js.map +0 -7
- package/dist/schemas/v3.1/strict/client-config-extensions/x-scalar-client-config-cookies.d.ts +0 -32
- package/dist/schemas/v3.1/strict/client-config-extensions/x-scalar-client-config-cookies.d.ts.map +0 -1
- package/dist/schemas/v3.1/strict/client-config-extensions/x-scalar-client-config-cookies.js +0 -13
- package/dist/schemas/v3.1/strict/client-config-extensions/x-scalar-client-config-cookies.js.map +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,63 @@
|
|
|
1
1
|
# @scalar/workspace-store
|
|
2
2
|
|
|
3
|
+
## 0.22.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#7431](https://github.com/scalar/scalar/pull/7431) [`61c980c`](https://github.com/scalar/scalar/commit/61c980cebef219685a05f3a4cb1e379984922cd4) Thanks [@DemonHa](https://github.com/DemonHa)! - feat: implememnt command palette
|
|
8
|
+
|
|
9
|
+
- [#7455](https://github.com/scalar/scalar/pull/7455) [`1bc2b45`](https://github.com/scalar/scalar/commit/1bc2b45b6eabd5c5045e77d67f59d202ab04d3fb) Thanks [@DemonHa](https://github.com/DemonHa)! - feat: tabs support on the store
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#7465](https://github.com/scalar/scalar/pull/7465) [`9342adc`](https://github.com/scalar/scalar/commit/9342adcd76e26a8e5eff75c1a2abee2c207b1487) Thanks [@marcalexiei](https://github.com/marcalexiei)! - fix: ensure `@scalar/workspace-store` consumers rely only on public exports
|
|
14
|
+
|
|
15
|
+
- [#7387](https://github.com/scalar/scalar/pull/7387) [`bfd814a`](https://github.com/scalar/scalar/commit/bfd814a4219660face190041cc4845182b56ab03) Thanks [@geoffgscott](https://github.com/geoffgscott)! - hotfix: patch exports from build tooling bug
|
|
16
|
+
|
|
17
|
+
- [#7416](https://github.com/scalar/scalar/pull/7416) [`86f028d`](https://github.com/scalar/scalar/commit/86f028deb0b456f923edd261f5f4b0fa9b616b7d) Thanks [@amritk](https://github.com/amritk)! - feat: add update method to client v2
|
|
18
|
+
|
|
19
|
+
- [#7414](https://github.com/scalar/scalar/pull/7414) [`294f9fc`](https://github.com/scalar/scalar/commit/294f9fc6cfd43cdab110deb1c851883509bc2b84) Thanks [@hanspagel](https://github.com/hanspagel)! - feat: show tags without operations
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [[`781f264`](https://github.com/scalar/scalar/commit/781f2648bc758a251435c3a1e2b126a37f20e44f), [`fa361d2`](https://github.com/scalar/scalar/commit/fa361d2799e358d582fbb224a7b93d5b6e832c0e), [`e04879c`](https://github.com/scalar/scalar/commit/e04879c65602dfb65393876754f5344751b8953d), [`dd8e9dc`](https://github.com/scalar/scalar/commit/dd8e9dc118d3ae98180e2a93bd6ba11e982abbf8), [`bfd814a`](https://github.com/scalar/scalar/commit/bfd814a4219660face190041cc4845182b56ab03), [`781f264`](https://github.com/scalar/scalar/commit/781f2648bc758a251435c3a1e2b126a37f20e44f), [`35af6bf`](https://github.com/scalar/scalar/commit/35af6bfce4bc4ae3d0fc5783ea36e0165e964361), [`86f028d`](https://github.com/scalar/scalar/commit/86f028deb0b456f923edd261f5f4b0fa9b616b7d), [`af54a80`](https://github.com/scalar/scalar/commit/af54a80349269a4269a68f6a372f837177a3537c)]:
|
|
22
|
+
- @scalar/code-highlight@0.2.1
|
|
23
|
+
- @scalar/snippetz@0.5.4
|
|
24
|
+
- @scalar/json-magic@0.8.3
|
|
25
|
+
- @scalar/helpers@0.1.3
|
|
26
|
+
- @scalar/types@0.5.1
|
|
27
|
+
- @scalar/themes@0.13.25
|
|
28
|
+
- @scalar/object-utils@1.2.13
|
|
29
|
+
- @scalar/openapi-upgrader@0.1.5
|
|
30
|
+
|
|
31
|
+
## 0.21.0
|
|
32
|
+
|
|
33
|
+
### Minor Changes
|
|
34
|
+
|
|
35
|
+
- [#7310](https://github.com/scalar/scalar/pull/7310) [`6e1cb89`](https://github.com/scalar/scalar/commit/6e1cb89f71770601a5059449d68b409ffc87d332) Thanks [@DemonHa](https://github.com/DemonHa)! - feat: workspace selector
|
|
36
|
+
|
|
37
|
+
- [#7366](https://github.com/scalar/scalar/pull/7366) [`1fbd809`](https://github.com/scalar/scalar/commit/1fbd809197bfaef77d7d3cb8cf7b657f397232a7) Thanks [@DemonHa](https://github.com/DemonHa)! - feat: support sidebar rebuild and remove the 'default' tag concept
|
|
38
|
+
|
|
39
|
+
- [#7384](https://github.com/scalar/scalar/pull/7384) [`3ebff92`](https://github.com/scalar/scalar/commit/3ebff92f29d8d03d626d4000e8323528e794e755) Thanks [@DemonHa](https://github.com/DemonHa)! - feat: collection and document settings and cookies page
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- [#7392](https://github.com/scalar/scalar/pull/7392) [`d86f1d6`](https://github.com/scalar/scalar/commit/d86f1d6911ecbca70b011a2a0efb6d6e0eca59bb) Thanks [@amritk](https://github.com/amritk)! - fix: move away from wasm hashing algo
|
|
44
|
+
|
|
45
|
+
- [#7287](https://github.com/scalar/scalar/pull/7287) [`dd5c518`](https://github.com/scalar/scalar/commit/dd5c518a422dddc7948c0253861101cf741b6af0) Thanks [@DemonHa](https://github.com/DemonHa)! - fix: correctly update the parameter examples
|
|
46
|
+
|
|
47
|
+
- [#7329](https://github.com/scalar/scalar/pull/7329) [`4cda566`](https://github.com/scalar/scalar/commit/4cda566c2dc2cf306e4e3597e292ae1c2dadd78c) Thanks [@DemonHa](https://github.com/DemonHa)! - fix: setting nested proxies directly cases problems
|
|
48
|
+
|
|
49
|
+
- [#7365](https://github.com/scalar/scalar/pull/7365) [`4059e68`](https://github.com/scalar/scalar/commit/4059e68375d31ec0142a8019b385bc3ac82055fc) Thanks [@amritk](https://github.com/amritk)! - feat: added hot keys to client v2
|
|
50
|
+
|
|
51
|
+
- Updated dependencies [[`d86f1d6`](https://github.com/scalar/scalar/commit/d86f1d6911ecbca70b011a2a0efb6d6e0eca59bb), [`44aeef0`](https://github.com/scalar/scalar/commit/44aeef01073801165e339163462378b7b62ff68d), [`a68b1af`](https://github.com/scalar/scalar/commit/a68b1afc54b2aa95a224fee89c3266bffed57215), [`cbedfab`](https://github.com/scalar/scalar/commit/cbedfab576502069be27ceacbea145a917214e47), [`a68b1af`](https://github.com/scalar/scalar/commit/a68b1afc54b2aa95a224fee89c3266bffed57215), [`5a108fc`](https://github.com/scalar/scalar/commit/5a108fcbc52ae7957731c23689896ba353b83d3b), [`cded2d6`](https://github.com/scalar/scalar/commit/cded2d6c087418c3c44731d344d0827a87b78b74), [`cbedfab`](https://github.com/scalar/scalar/commit/cbedfab576502069be27ceacbea145a917214e47)]:
|
|
52
|
+
- @scalar/json-magic@0.8.2
|
|
53
|
+
- @scalar/helpers@0.1.2
|
|
54
|
+
- @scalar/types@0.5.0
|
|
55
|
+
- @scalar/object-utils@1.2.12
|
|
56
|
+
- @scalar/themes@0.13.24
|
|
57
|
+
- @scalar/openapi-upgrader@0.1.4
|
|
58
|
+
- @scalar/snippetz@0.5.3
|
|
59
|
+
- @scalar/code-highlight@0.2.0
|
|
60
|
+
|
|
3
61
|
## 0.20.0
|
|
4
62
|
|
|
5
63
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -213,7 +213,7 @@ store.workspace.activeDocument
|
|
|
213
213
|
store.workspace.documents['document']
|
|
214
214
|
|
|
215
215
|
// Update global workspace settings
|
|
216
|
-
store.update('x-scalar-
|
|
216
|
+
store.update('x-scalar-color-mode', true)
|
|
217
217
|
|
|
218
218
|
// Update settings for the active document
|
|
219
219
|
store.updateDocument('active', "x-scalar-active-auth", '<value>')
|
|
@@ -431,7 +431,7 @@ await store.importWorkspaceFromSpecification({
|
|
|
431
431
|
],
|
|
432
432
|
},
|
|
433
433
|
},
|
|
434
|
-
'x-scalar-
|
|
434
|
+
'x-scalar-color-mode': true,
|
|
435
435
|
})
|
|
436
436
|
```
|
|
437
437
|
|
package/dist/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Difference, merge } from '@scalar/json-magic/diff';
|
|
2
2
|
import type { PartialDeep, RequiredDeep } from 'type-fest';
|
|
3
|
-
import {
|
|
3
|
+
import type { InMemoryWorkspace } from './schemas/inmemory-workspace.js';
|
|
4
4
|
import { type OpenApiDocument } from './schemas/v3.1/strict/openapi-document.js';
|
|
5
|
-
import type { Workspace, WorkspaceDocumentMeta, WorkspaceMeta } from './schemas/workspace.js';
|
|
5
|
+
import type { Workspace, WorkspaceDocumentMeta, WorkspaceExtensions, WorkspaceMeta } from './schemas/workspace.js';
|
|
6
6
|
import type { WorkspaceSpecification } from './schemas/workspace-specification/index.js';
|
|
7
7
|
import type { Config, DocumentConfiguration } from './schemas/workspace-specification/config.js';
|
|
8
8
|
import type { WorkspacePlugin } from './workspace-plugin.js';
|
|
@@ -75,7 +75,7 @@ export type WorkspaceStore = {
|
|
|
75
75
|
* // Update the workspace title
|
|
76
76
|
* update('x-scalar-active-document', 'document-name')
|
|
77
77
|
*/
|
|
78
|
-
update<K extends keyof WorkspaceMeta>(key: K, value: WorkspaceMeta[K]): void;
|
|
78
|
+
update<K extends keyof WorkspaceMeta | keyof WorkspaceExtensions>(key: K, value: (WorkspaceMeta & WorkspaceExtensions)[K]): void;
|
|
79
79
|
/**
|
|
80
80
|
* Updates a specific metadata field in a document
|
|
81
81
|
* @param name - The name of the document to update ('active' or a specific document name)
|
|
@@ -136,7 +136,36 @@ export type WorkspaceStore = {
|
|
|
136
136
|
* }
|
|
137
137
|
* })
|
|
138
138
|
*/
|
|
139
|
-
addDocument(input: WorkspaceDocumentInput): Promise<
|
|
139
|
+
addDocument(input: WorkspaceDocumentInput): Promise<boolean>;
|
|
140
|
+
/**
|
|
141
|
+
* Deletes a document from the workspace and all associated data.
|
|
142
|
+
*
|
|
143
|
+
* This method removes the document from the workspace along with all related data including:
|
|
144
|
+
* - The document itself from the workspace documents map
|
|
145
|
+
* - Original document data
|
|
146
|
+
* - Intermediate document data (saved local versions)
|
|
147
|
+
* - Document-specific configuration
|
|
148
|
+
* - Document overrides
|
|
149
|
+
* - Extra document configurations
|
|
150
|
+
*
|
|
151
|
+
* If the deleted document was the active document, the active document is automatically
|
|
152
|
+
* reset to the first remaining document in the workspace, or undefined if no documents remain.
|
|
153
|
+
*
|
|
154
|
+
* The deletion is automatically tracked by the workspace change detection system,
|
|
155
|
+
* and appropriate events will be fired to notify registered plugins.
|
|
156
|
+
*
|
|
157
|
+
* @param documentName - The name of the document to delete
|
|
158
|
+
* @returns void
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* // Delete the document named 'api'
|
|
162
|
+
* store.deleteDocument('api')
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* // Delete multiple documents
|
|
166
|
+
* ['api', 'petstore'].forEach(name => store.deleteDocument(name))
|
|
167
|
+
*/
|
|
168
|
+
deleteDocument(documentName: string): void;
|
|
140
169
|
/**
|
|
141
170
|
* Returns the merged configuration for the active document.
|
|
142
171
|
*
|
|
@@ -149,6 +178,18 @@ export type WorkspaceStore = {
|
|
|
149
178
|
* falling back to the first document if none is specified.
|
|
150
179
|
*/
|
|
151
180
|
readonly config: typeof defaultConfig;
|
|
181
|
+
/**
|
|
182
|
+
* Returns the merged configuration for a specific document.
|
|
183
|
+
*
|
|
184
|
+
* This method merges configurations in the following order of precedence:
|
|
185
|
+
* 1. Document-specific configuration (highest priority)
|
|
186
|
+
* 2. Workspace-level configuration
|
|
187
|
+
* 3. Default configuration (lowest priority)
|
|
188
|
+
*
|
|
189
|
+
* @param documentName - The name of the document to get the configuration for
|
|
190
|
+
* @returns The merged configuration for the specified document
|
|
191
|
+
*/
|
|
192
|
+
getDocumentConfiguration(documentName: string): typeof defaultConfig;
|
|
152
193
|
/**
|
|
153
194
|
* Exports the specified document in the requested format.
|
|
154
195
|
*
|
|
@@ -208,6 +249,13 @@ export type WorkspaceStore = {
|
|
|
208
249
|
* const excludedDiffs = store.saveDocument('api')
|
|
209
250
|
*/
|
|
210
251
|
saveDocument(documentName: string): Promise<unknown[] | undefined>;
|
|
252
|
+
/**
|
|
253
|
+
* Builds the sidebar for the specified document.
|
|
254
|
+
*
|
|
255
|
+
* @param documentName - The name of the document to build the sidebar for
|
|
256
|
+
* @returns boolean indicating if the sidebar was built successfully
|
|
257
|
+
*/
|
|
258
|
+
buildSidebar: (documentName: string) => boolean;
|
|
211
259
|
/**
|
|
212
260
|
* Restores the specified document to its last locally saved state.
|
|
213
261
|
*
|
|
@@ -277,13 +325,13 @@ export type WorkspaceStore = {
|
|
|
277
325
|
* },
|
|
278
326
|
* info: { title: 'My Workspace' },
|
|
279
327
|
* workspace: 'v1',
|
|
280
|
-
* "x-scalar-
|
|
328
|
+
* "x-scalar-color-mode": true
|
|
281
329
|
* })
|
|
282
330
|
* ```
|
|
283
331
|
*
|
|
284
332
|
* @param specification - The workspace specification to import.
|
|
285
333
|
*/
|
|
286
|
-
importWorkspaceFromSpecification(specification: WorkspaceSpecification): Promise<
|
|
334
|
+
importWorkspaceFromSpecification(specification: WorkspaceSpecification): Promise<boolean[]>;
|
|
287
335
|
/**
|
|
288
336
|
* Rebases a document in the workspace by refetching its origin and merging with local edits.
|
|
289
337
|
*
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { preventPollution } from "@scalar/helpers/object/prevent-pollution";
|
|
2
|
+
import { generateHash } from "@scalar/helpers/string/generate-hash";
|
|
1
3
|
import { measureAsync, measureSync } from "@scalar/helpers/testing/measure";
|
|
2
4
|
import { bundle } from "@scalar/json-magic/bundle";
|
|
3
5
|
import { fetchUrls } from "@scalar/json-magic/bundle/plugins/browser";
|
|
4
6
|
import { apply, diff, merge } from "@scalar/json-magic/diff";
|
|
5
|
-
import { generateHash } from "@scalar/json-magic/helpers/generate-hash";
|
|
6
7
|
import { createMagicProxy, getRaw } from "@scalar/json-magic/magic-proxy";
|
|
7
8
|
import { upgrade } from "@scalar/openapi-upgrader";
|
|
8
9
|
import { Value } from "@scalar/typebox/value";
|
|
@@ -20,7 +21,6 @@ import { createNavigation } from "./navigation/index.js";
|
|
|
20
21
|
import { externalValueResolver, loadingStatus, refsEverywhere, restoreOriginalRefs } from "./plugins/bundler/index.js";
|
|
21
22
|
import { getServersFromDocument } from "./preprocessing/server.js";
|
|
22
23
|
import { extensions } from "./schemas/extensions.js";
|
|
23
|
-
import { InMemoryWorkspaceSchema } from "./schemas/inmemory-workspace.js";
|
|
24
24
|
import { defaultReferenceConfig } from "./schemas/reference-config/index.js";
|
|
25
25
|
import { coerceValue } from "./schemas/typebox-coerce.js";
|
|
26
26
|
import {
|
|
@@ -110,7 +110,7 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
110
110
|
const { activeDocument: _a, documents: _d, ...meta } = workspace;
|
|
111
111
|
const event = {
|
|
112
112
|
type: "meta",
|
|
113
|
-
value: unpackProxyObject(meta)
|
|
113
|
+
value: unpackProxyObject(meta, { depth: 1 })
|
|
114
114
|
};
|
|
115
115
|
fireWorkspaceChange(event);
|
|
116
116
|
return;
|
|
@@ -325,7 +325,7 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
325
325
|
"loadDocument",
|
|
326
326
|
async () => await loadDocument({ ...input, fetch: input.fetch ?? workspaceProps?.fetch })
|
|
327
327
|
);
|
|
328
|
-
await measureAsync("addDocument", async () => {
|
|
328
|
+
return await measureAsync("addDocument", async () => {
|
|
329
329
|
if (!resolve.ok) {
|
|
330
330
|
console.error(`Failed to fetch document '${name}': request was not successful`);
|
|
331
331
|
workspace.documents[name] = {
|
|
@@ -337,7 +337,7 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
337
337
|
},
|
|
338
338
|
"x-scalar-original-document-hash": "not-a-hash"
|
|
339
339
|
};
|
|
340
|
-
return;
|
|
340
|
+
return false;
|
|
341
341
|
}
|
|
342
342
|
if (!isObject(resolve.data)) {
|
|
343
343
|
console.error(`Failed to load document '${name}': response data is not a valid object`);
|
|
@@ -350,16 +350,27 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
350
350
|
},
|
|
351
351
|
"x-scalar-original-document-hash": "not-a-hash"
|
|
352
352
|
};
|
|
353
|
-
return;
|
|
353
|
+
return false;
|
|
354
354
|
}
|
|
355
355
|
await addInMemoryDocument({
|
|
356
356
|
...input,
|
|
357
357
|
document: resolve.data,
|
|
358
358
|
documentSource: getDocumentSource(input),
|
|
359
|
-
documentHash:
|
|
359
|
+
documentHash: generateHash(resolve.raw)
|
|
360
360
|
});
|
|
361
|
+
return true;
|
|
361
362
|
});
|
|
362
363
|
}
|
|
364
|
+
const buildSidebar = (documentName) => {
|
|
365
|
+
const document = workspace.documents[documentName];
|
|
366
|
+
if (!document) {
|
|
367
|
+
console.error(`Document '${documentName}' does not exist in the workspace.`);
|
|
368
|
+
return false;
|
|
369
|
+
}
|
|
370
|
+
const navigation = createNavigation(documentName, document, getDocumentConfiguration(documentName));
|
|
371
|
+
document[extensions.document.navigation] = navigation;
|
|
372
|
+
return true;
|
|
373
|
+
};
|
|
363
374
|
const getDocumentConfiguration = (name) => {
|
|
364
375
|
return mergeObjects(
|
|
365
376
|
mergeObjects(deepClone(defaultConfig), workspaceProps?.config ?? {}),
|
|
@@ -372,9 +383,7 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
372
383
|
return workspace;
|
|
373
384
|
},
|
|
374
385
|
update(key, value) {
|
|
375
|
-
|
|
376
|
-
throw new Error("Invalid key: cannot modify prototype");
|
|
377
|
-
}
|
|
386
|
+
preventPollution(key);
|
|
378
387
|
Object.assign(workspace, { [key]: value });
|
|
379
388
|
},
|
|
380
389
|
updateDocument(name, key, value) {
|
|
@@ -382,6 +391,7 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
382
391
|
if (!currentDocument) {
|
|
383
392
|
throw "Please select a valid document";
|
|
384
393
|
}
|
|
394
|
+
preventPollution(key);
|
|
385
395
|
Object.assign(currentDocument, { [key]: value });
|
|
386
396
|
},
|
|
387
397
|
async replaceDocument(documentName, input) {
|
|
@@ -420,11 +430,39 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
420
430
|
});
|
|
421
431
|
},
|
|
422
432
|
addDocument,
|
|
433
|
+
/**
|
|
434
|
+
* Deletes a document from the workspace and all associated data.
|
|
435
|
+
*
|
|
436
|
+
* This function removes the document and all related data structures.
|
|
437
|
+
* If the deleted document was active, it automatically selects the first remaining document.
|
|
438
|
+
*/
|
|
439
|
+
deleteDocument: (documentName) => {
|
|
440
|
+
if (!workspace.documents[documentName]) {
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
delete workspace.documents[documentName];
|
|
444
|
+
delete originalDocuments[documentName];
|
|
445
|
+
delete intermediateDocuments[documentName];
|
|
446
|
+
delete documentConfigs[documentName];
|
|
447
|
+
delete overrides[documentName];
|
|
448
|
+
delete extraDocumentConfigurations[documentName];
|
|
449
|
+
const remainingDocuments = Object.keys(workspace.documents);
|
|
450
|
+
const wasActiveDocument = workspace["x-scalar-active-document"] === documentName;
|
|
451
|
+
if (wasActiveDocument) {
|
|
452
|
+
workspace["x-scalar-active-document"] = remainingDocuments[0] ?? void 0;
|
|
453
|
+
}
|
|
454
|
+
fireWorkspaceChange({
|
|
455
|
+
type: "deleteDocument",
|
|
456
|
+
documentName
|
|
457
|
+
});
|
|
458
|
+
},
|
|
423
459
|
get config() {
|
|
424
460
|
return getDocumentConfiguration(getActiveDocumentName());
|
|
425
461
|
},
|
|
462
|
+
getDocumentConfiguration,
|
|
426
463
|
exportDocument,
|
|
427
464
|
exportActiveDocument: (format, minify) => exportDocument(getActiveDocumentName(), format, minify),
|
|
465
|
+
buildSidebar,
|
|
428
466
|
saveDocument,
|
|
429
467
|
async revertDocumentChanges(documentName) {
|
|
430
468
|
const workspaceDocument = workspace.documents[documentName];
|
|
@@ -444,42 +482,41 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
444
482
|
console.warn(`Commit operation for document '${documentName}' is not implemented yet.`);
|
|
445
483
|
},
|
|
446
484
|
exportWorkspace() {
|
|
485
|
+
const { activeDocument: _, documents, ...meta } = unpackProxyObject(workspace);
|
|
447
486
|
return {
|
|
448
487
|
documents: {
|
|
449
488
|
...Object.fromEntries(
|
|
450
|
-
Object.entries(
|
|
489
|
+
Object.entries(documents).map(([name, doc]) => [
|
|
451
490
|
name,
|
|
452
|
-
//
|
|
453
|
-
|
|
454
|
-
toRaw(getRaw(unpackOverridesProxy(doc)))
|
|
491
|
+
// Get the raw document without any proxies
|
|
492
|
+
unpackProxyObject(doc)
|
|
455
493
|
])
|
|
456
494
|
)
|
|
457
495
|
},
|
|
458
|
-
meta:
|
|
459
|
-
documentConfigs,
|
|
460
|
-
originalDocuments,
|
|
461
|
-
intermediateDocuments,
|
|
462
|
-
overrides
|
|
496
|
+
meta: unpackProxyObject(meta) ?? {},
|
|
497
|
+
documentConfigs: unpackProxyObject(documentConfigs),
|
|
498
|
+
originalDocuments: unpackProxyObject(originalDocuments),
|
|
499
|
+
intermediateDocuments: unpackProxyObject(intermediateDocuments),
|
|
500
|
+
overrides: unpackProxyObject(overrides)
|
|
463
501
|
};
|
|
464
502
|
},
|
|
465
503
|
loadWorkspace(input) {
|
|
466
|
-
const result = coerceValue(InMemoryWorkspaceSchema, input);
|
|
467
504
|
safeAssign(
|
|
468
505
|
workspace.documents,
|
|
469
506
|
Object.fromEntries(
|
|
470
|
-
Object.entries(
|
|
507
|
+
Object.entries(input.documents).map(([name, doc]) => [
|
|
471
508
|
name,
|
|
472
509
|
createOverridesProxy(createMagicProxy(doc), {
|
|
473
|
-
overrides:
|
|
510
|
+
overrides: input.overrides[name]
|
|
474
511
|
})
|
|
475
512
|
])
|
|
476
513
|
)
|
|
477
514
|
);
|
|
478
|
-
safeAssign(originalDocuments,
|
|
479
|
-
safeAssign(intermediateDocuments,
|
|
480
|
-
safeAssign(documentConfigs,
|
|
481
|
-
safeAssign(overrides,
|
|
482
|
-
safeAssign(workspace,
|
|
515
|
+
safeAssign(originalDocuments, input.originalDocuments);
|
|
516
|
+
safeAssign(intermediateDocuments, input.intermediateDocuments);
|
|
517
|
+
safeAssign(documentConfigs, input.documentConfigs);
|
|
518
|
+
safeAssign(overrides, input.overrides);
|
|
519
|
+
safeAssign(workspace, input.meta);
|
|
483
520
|
},
|
|
484
521
|
importWorkspaceFromSpecification: (specification) => {
|
|
485
522
|
const { documents, overrides: overrides2, info: _info, workspace: _workspaceVersion, ...meta } = specification;
|
|
@@ -513,7 +550,7 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
513
550
|
message: `Failed to fetch document '${name}': request was not successful or returned invalid data`
|
|
514
551
|
};
|
|
515
552
|
}
|
|
516
|
-
const newHash =
|
|
553
|
+
const newHash = generateHash(resolve.raw);
|
|
517
554
|
if (activeDocument["x-scalar-original-document-hash"] === newHash) {
|
|
518
555
|
return {
|
|
519
556
|
ok: false,
|
|
@@ -561,7 +598,7 @@ const createWorkspaceStore = (workspaceProps) => {
|
|
|
561
598
|
},
|
|
562
599
|
documentSource: getDocumentSource(input),
|
|
563
600
|
// Update the original document hash
|
|
564
|
-
documentHash:
|
|
601
|
+
documentHash: generateHash(resolve.raw),
|
|
565
602
|
initialize: false
|
|
566
603
|
});
|
|
567
604
|
}
|