Skip to content

Commit

Permalink
Optimise server side bundle
Browse files Browse the repository at this point in the history
  • Loading branch information
emmatown committed May 7, 2024
1 parent 91e50fb commit 834fd69
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 4 deletions.
21 changes: 21 additions & 0 deletions packages/keystatic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"default": "./dist/keystatic-core-ui.node.js"
},
"react-server": "./dist/keystatic-core-ui.react-server.js",
"worker": "./dist/keystatic-core-ui.worker.js",
"default": "./dist/keystatic-core-ui.js"
},
".": {
Expand All @@ -25,6 +26,7 @@
"default": "./dist/keystatic-core.node.js"
},
"react-server": "./dist/keystatic-core.react-server.js",
"worker": "./dist/keystatic-core.worker.js",
"default": "./dist/keystatic-core.js"
},
"./api/utils": {
Expand All @@ -34,6 +36,7 @@
"default": "./dist/keystatic-core-api-utils.node.js"
},
"react-server": "./dist/keystatic-core-api-utils.react-server.js",
"worker": "./dist/keystatic-core-api-utils.worker.js",
"default": "./dist/keystatic-core-api-utils.js"
},
"./renderer": {
Expand All @@ -43,6 +46,7 @@
"default": "./dist/keystatic-core-renderer.node.js"
},
"react-server": "./dist/keystatic-core-renderer.react-server.js",
"worker": "./dist/keystatic-core-renderer.worker.js",
"default": "./dist/keystatic-core-renderer.js"
},
"./api/generic": {
Expand All @@ -52,6 +56,7 @@
"default": "./dist/keystatic-core-api-generic.node.js"
},
"react-server": "./dist/keystatic-core-api-generic.react-server.js",
"worker": "./dist/keystatic-core-api-generic.worker.js",
"default": "./dist/keystatic-core-api-generic.js"
},
"./reader": {
Expand All @@ -61,6 +66,7 @@
"default": "./dist/keystatic-core-reader.node.js"
},
"react-server": "./dist/keystatic-core-reader.react-server.js",
"worker": "./dist/keystatic-core-reader.worker.js",
"default": "./dist/keystatic-core-reader.js"
},
"./reader/github": {
Expand All @@ -70,6 +76,7 @@
"default": "./dist/keystatic-core-reader-github.node.js"
},
"react-server": "./dist/keystatic-core-reader-github.react-server.js",
"worker": "./dist/keystatic-core-reader-github.worker.js",
"default": "./dist/keystatic-core-reader-github.js"
},
"./content-components": {
Expand All @@ -79,6 +86,7 @@
"default": "./dist/keystatic-core-content-components.node.js"
},
"react-server": "./dist/keystatic-core-content-components.react-server.js",
"worker": "./dist/keystatic-core-content-components.worker.js",
"default": "./dist/keystatic-core-content-components.js"
},
"./component-blocks": {
Expand All @@ -88,6 +96,7 @@
"default": "./dist/keystatic-core-component-blocks.node.js"
},
"react-server": "./dist/keystatic-core-component-blocks.react-server.js",
"worker": "./dist/keystatic-core-component-blocks.worker.js",
"default": "./dist/keystatic-core-component-blocks.js"
},
"./package.json": "./package.json"
Expand Down Expand Up @@ -249,15 +258,27 @@
"node": "./src/api/api-node.ts",
"default": "./src/api/api-noop.ts"
},
"#ui": {
"node": "./src/app/ui-empty.tsx",
"worker": "./src/app/ui-empty.tsx",
"react-server": "./src/app/ui-empty.tsx",
"default": "./src/app/ui.tsx"
},
"#field-ui/*": {
"node": "./src/form/fields/empty-field-ui.tsx",
"worker": "./src/form/fields/empty-field-ui.tsx",
"react-server": "./src/form/fields/empty-field-ui.tsx",
"default": "./src/form/fields/*/ui.tsx"
},
"#component-block-primitives": {
"node": "./src/form/fields/document/DocumentEditor/primitives/blank-for-react-server.tsx",
"worker": "./src/form/fields/document/DocumentEditor/primitives/blank-for-react-server.tsx",
"react-server": "./src/form/fields/document/DocumentEditor/primitives/blank-for-react-server.tsx",
"default": "./src/form/fields/document/DocumentEditor/primitives/index.tsx"
},
"#cloud-image-preview": {
"node": "./src/component-blocks/blank-for-react-server.tsx",
"worker": "./src/component-blocks/blank-for-react-server.tsx",
"react-server": "./src/component-blocks/blank-for-react-server.tsx",
"default": "./src/component-blocks/cloud-image-preview.tsx"
}
Expand Down
12 changes: 12 additions & 0 deletions packages/keystatic/src/app/ui-empty.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Config } from '../config';
import { assertValidRepoConfig } from './repo-config';

export function Keystatic(props: {
config: Config;
appSlug?: { envName: string; value: string | undefined };
}) {
if (props.config.storage.kind === 'github') {
assertValidRepoConfig(props.config.storage.repo);
}
return null;
}
3 changes: 2 additions & 1 deletion packages/keystatic/src/form/fields/empty-field-ui.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,5 @@ export let SlugFieldInput = empty,
serializeFromEditorState = empty,
parseToEditorStateMDX = empty,
serializeFromEditorStateMDX = empty,
createEditorStateFromYJS = empty;
createEditorStateFromYJS = empty,
prosemirrorToYXmlFragment = empty;
16 changes: 14 additions & 2 deletions packages/keystatic/src/form/fields/markdoc/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
parseToEditorStateMDX,
serializeFromEditorStateMDX,
createEditorStateFromYJS,
prosemirrorToYXmlFragment,
} from '#field-ui/markdoc';
import type { EditorSchema } from './editor/schema';
import type { EditorState } from 'prosemirror-state';
Expand All @@ -22,8 +23,7 @@ import {
import { collectDirectoriesUsedInSchema } from '../../../app/tree-key';
import { object } from '../object';
import { fixPath } from '../../../app/path-utils';
import { XmlFragment } from 'yjs';
import { prosemirrorToYXmlFragment } from 'y-prosemirror';
import type { XmlFragment } from 'yjs';
import { createMarkdocConfig } from './markdoc-config';

const textDecoder = new TextDecoder();
Expand Down Expand Up @@ -197,6 +197,18 @@ export function mdx({
return text;
},
},
collaboration: {
toYjs(value) {
return prosemirrorToYXmlFragment(value.doc);
},
fromYjs(yjsValue, awareness) {
return createEditorStateFromYJS(
getSchema(),
yjsValue as XmlFragment,
awareness
);
},
},
};
}

Expand Down
2 changes: 2 additions & 0 deletions packages/keystatic/src/form/fields/markdoc/ui.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -151,3 +151,5 @@ export function createEditorStateFromYJS(
awareness
);
}

export { prosemirrorToYXmlFragment } from 'y-prosemirror';
2 changes: 1 addition & 1 deletion packages/keystatic/src/ui.tsx
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export { Keystatic } from './app/ui';
export { Keystatic } from '#ui';
export type { Router } from './app/router';

0 comments on commit 834fd69

Please sign in to comment.