@storyblok/management-api-client 1.0.0-alpha.3 → 1.0.0-alpha.4
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/dist/client.cjs +6 -0
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +131 -11
- package/dist/client.d.mts +131 -11
- package/dist/client.mjs +6 -0
- package/dist/client.mjs.map +1 -1
- package/dist/generated/types/field.d.cts +31 -15
- package/dist/generated/types/field.d.mts +31 -15
- package/dist/generated/types/mapi-story.d.cts +6 -6
- package/dist/generated/types/mapi-story.d.mts +6 -6
- package/dist/index.d.cts +4 -1
- package/dist/index.d.mts +4 -1
- package/dist/resources/assets.cjs +1 -0
- package/dist/resources/assets.cjs.map +1 -1
- package/dist/resources/assets.mjs +1 -1
- package/dist/resources/assets.mjs.map +1 -1
- package/dist/resources/shared-asset-folders.cjs +81 -0
- package/dist/resources/shared-asset-folders.cjs.map +1 -0
- package/dist/resources/shared-asset-folders.d.cts +41 -0
- package/dist/resources/shared-asset-folders.d.mts +41 -0
- package/dist/resources/shared-asset-folders.mjs +81 -0
- package/dist/resources/shared-asset-folders.mjs.map +1 -0
- package/dist/resources/shared-assets.cjs +197 -0
- package/dist/resources/shared-assets.cjs.map +1 -0
- package/dist/resources/shared-assets.d.cts +29 -0
- package/dist/resources/shared-assets.d.mts +28 -0
- package/dist/resources/shared-assets.mjs +197 -0
- package/dist/resources/shared-assets.mjs.map +1 -0
- package/dist/resources/shared-internal-tags.cjs +73 -0
- package/dist/resources/shared-internal-tags.cjs.map +1 -0
- package/dist/resources/shared-internal-tags.d.cts +32 -0
- package/dist/resources/shared-internal-tags.d.mts +32 -0
- package/dist/resources/shared-internal-tags.mjs +73 -0
- package/dist/resources/shared-internal-tags.mjs.map +1 -0
- package/dist/resources/stories.cjs.map +1 -1
- package/dist/resources/stories.d.cts +26 -26
- package/dist/resources/stories.d.mts +26 -26
- package/dist/resources/stories.mjs.map +1 -1
- package/package.json +3 -3
- package/playground/integration-tests/test/types/stories.test-d.ts +39 -2
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storyblok/management-api-client",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.0-alpha.
|
|
4
|
+
"version": "1.0.0-alpha.4",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Storyblok Management API Client",
|
|
7
7
|
"author": "",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"async-sema": "^3.1.1",
|
|
34
34
|
"ky": "^1.14.3",
|
|
35
|
-
"@storyblok/region-helper": "1.
|
|
35
|
+
"@storyblok/region-helper": "1.5.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^24.1.0",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"tsdown": "^0.20.3",
|
|
43
43
|
"tsx": "^4.20.3",
|
|
44
44
|
"vitest": "^4.1.3",
|
|
45
|
-
"@storyblok/eslint-config": "0.
|
|
45
|
+
"@storyblok/eslint-config": "0.6.0",
|
|
46
46
|
"@storyblok/openapi-codegen": "0.0.1"
|
|
47
47
|
},
|
|
48
48
|
"nx": {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { defineBlock, defineField } from '@storyblok/schema';
|
|
2
|
-
import {
|
|
1
|
+
import { defineBlock, defineField, defineSchema, type Schema as InferSchema } from '@storyblok/schema';
|
|
2
|
+
import { storyblokColorField } from '@storyblok/schema/field-plugins';
|
|
3
|
+
import { createManagementApiClient, type PluginFieldValue, type Story as StoryMapi } from '@storyblok/management-api-client';
|
|
3
4
|
import { describe, expectTypeOf, it } from 'vitest';
|
|
4
5
|
|
|
5
6
|
// Nestable block — not a root story type
|
|
@@ -271,3 +272,39 @@ describe('withTypes() write-body narrowing', () => {
|
|
|
271
272
|
}
|
|
272
273
|
});
|
|
273
274
|
});
|
|
275
|
+
|
|
276
|
+
describe('createManagementApiClient with .withTypes() — field plugins', () => {
|
|
277
|
+
const _themedComponent = defineBlock({
|
|
278
|
+
name: 'themed',
|
|
279
|
+
is_root: true,
|
|
280
|
+
fields: [
|
|
281
|
+
defineField('bg', { type: 'custom', field_type: 'storyblok-colorpicker' }),
|
|
282
|
+
defineField('legacy', { type: 'custom', field_type: 'unregistered-plugin' }),
|
|
283
|
+
],
|
|
284
|
+
});
|
|
285
|
+
const _schema = defineSchema({
|
|
286
|
+
blocks: { themedComponent: _themedComponent },
|
|
287
|
+
fieldPlugins: { storyblokColorField },
|
|
288
|
+
});
|
|
289
|
+
type Schema = InferSchema<typeof _schema>;
|
|
290
|
+
|
|
291
|
+
it('resolves a registered custom field to the validator output merged with the plugin envelope', async () => {
|
|
292
|
+
const client = createManagementApiClient(CLIENT_CONFIG).withTypes<Schema>();
|
|
293
|
+
const result = await client.stories.get(123);
|
|
294
|
+
if (result.data?.story && result.data.story.content.component === 'themed') {
|
|
295
|
+
expectTypeOf<NonNullable<typeof result.data.story.content.bg>>().toEqualTypeOf<{
|
|
296
|
+
color: string;
|
|
297
|
+
plugin: string;
|
|
298
|
+
_uid?: string;
|
|
299
|
+
}>();
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
it('leaves an unregistered custom field as PluginFieldValue', async () => {
|
|
304
|
+
const client = createManagementApiClient(CLIENT_CONFIG).withTypes<Schema>();
|
|
305
|
+
const result = await client.stories.get(123);
|
|
306
|
+
if (result.data?.story && result.data.story.content.component === 'themed') {
|
|
307
|
+
expectTypeOf<NonNullable<typeof result.data.story.content.legacy>>().toEqualTypeOf<PluginFieldValue>();
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
});
|