@stackbit/cms-core 1.0.20-develop.2 → 1.0.20-staging.1

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.
@@ -0,0 +1,3 @@
1
+ import * as CSITypes from '@stackbit/types';
2
+ export declare function convertModels(models: Map<string, any>): (CSITypes.ObjectModel<unknown> | CSITypes.DataModel<unknown>)[];
3
+ //# sourceMappingURL=model-converter.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-converter.d.mts","sourceRoot":"","sources":["../../src/connector/model-converter.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,mEAYrD"}
@@ -0,0 +1,138 @@
1
+ export function convertModels(models) {
2
+ const createModels = [];
3
+ models.forEach((model) => {
4
+ if (model.getTypeName() === `Image`) {
5
+ return;
6
+ }
7
+ const createModel = convertModel(model, models);
8
+ if (createModel) {
9
+ createModels.push(createModel);
10
+ }
11
+ });
12
+ return createModels;
13
+ }
14
+ function convertModel(model, models) {
15
+ let fieldGroups = model.fieldGroups;
16
+ if (model.devOnlyFieldGroup) {
17
+ fieldGroups || (fieldGroups = []);
18
+ fieldGroups.push(model.devOnlyFieldGroup);
19
+ }
20
+ // Create doesn't have named union types
21
+ if (model.isUnionType) {
22
+ return false;
23
+ }
24
+ const name = model.originalName || model.typeName;
25
+ const csiModel = {
26
+ name: name,
27
+ label: model.label || model.name,
28
+ type: model.isObjectType ? `object` : `data`,
29
+ fieldGroups,
30
+ fields: sdkFieldsToStackbitFields(model.fields, models)
31
+ };
32
+ return csiModel;
33
+ }
34
+ function sdkFieldsToStackbitFields(fields, models) {
35
+ return fields.map((field) => {
36
+ const definedTypename = field.type;
37
+ const fieldModel = models.get(definedTypename);
38
+ const typename = fieldModel?.originalName || definedTypename;
39
+ const isObject = fieldModel?.isObjectType;
40
+ const scalarTypename = isObject
41
+ ? `object`
42
+ : {
43
+ // create only has a number field
44
+ float: 'number',
45
+ int: 'number'
46
+ }[typename.toLowerCase()] ||
47
+ // all other scalar types are supported as lowercase typenames
48
+ typename.toLowerCase();
49
+ const isImage = typename === `Image`;
50
+ const isReference = !isImage && fieldModel?.isNodeType;
51
+ const isUnion = fieldModel?.isUnionType;
52
+ const firstUnionType = isUnion && fieldModel?.compositeTypes && models.get(fieldModel.compositeTypes[0]);
53
+ const isObjectUnion = firstUnionType && firstUnionType.isObjectType;
54
+ const isReferenceUnion = firstUnionType && firstUnionType.isNodeType;
55
+ const type = (() => {
56
+ if ( /*isObject || */isObjectUnion) {
57
+ return `model`;
58
+ }
59
+ if (isReference || isReferenceUnion) {
60
+ return `reference`;
61
+ }
62
+ if (isUnion) {
63
+ // throw new ModelError(`Unhandled union type for model ${typename}. This is a bug in the Netlify SDK.`);
64
+ }
65
+ if (isImage) {
66
+ return `image`;
67
+ }
68
+ return scalarTypename;
69
+ })();
70
+ const stackbitField = {
71
+ type,
72
+ name: field.name
73
+ };
74
+ if (typename.toLowerCase() === `float`) {
75
+ stackbitField.subtype = `float`;
76
+ }
77
+ //TODO
78
+ if (isObject) {
79
+ stackbitField.fields = fieldModel.sdkFieldsToStackbitFields();
80
+ }
81
+ // if (isObject) {
82
+ // (stackbitField as CSITypes.FieldModelProps).models = [typename];
83
+ // }
84
+ // if (isObjectUnion) {
85
+ // (stackbitField as CSITypes.FieldModelProps).models = fieldModel.compositeTypes.map((ct: any) => {
86
+ // const fullType = models.get(ct);
87
+ // return fullType!.getOriginalName();
88
+ // });
89
+ // }
90
+ // any field names starting with _ are internal mandatory fields.
91
+ // they shouldn't be set as required in the Create UI as content admins
92
+ // don't need to set these fields, connector authors do.
93
+ if (`required` in field && !field.name.startsWith(`_`)) {
94
+ stackbitField.required = field.required;
95
+ }
96
+ if (`label` in field) {
97
+ stackbitField.label = field.label;
98
+ }
99
+ if (`hidden` in field) {
100
+ stackbitField.hidden = field.hidden;
101
+ }
102
+ if (`readOnly` in field) {
103
+ stackbitField.readOnly = field.readOnly;
104
+ }
105
+ if (`localized` in field) {
106
+ stackbitField.localized = field.localized;
107
+ }
108
+ if (`defaultValue` in field) {
109
+ stackbitField.default = field.defaultValue;
110
+ }
111
+ if (`group` in field) {
112
+ stackbitField.group = field.group;
113
+ }
114
+ if (isUnion) {
115
+ stackbitField.models = (fieldModel.compositeTypes || []).map((ct) => {
116
+ const fullType = models.get(ct);
117
+ return fullType.getOriginalName();
118
+ });
119
+ }
120
+ else if (isReference) {
121
+ stackbitField.models = [fieldModel.getOriginalName()];
122
+ }
123
+ if (field.list) {
124
+ const { name, required, hidden, ...items } = stackbitField;
125
+ return {
126
+ name,
127
+ required,
128
+ hidden,
129
+ type: `list`,
130
+ items
131
+ };
132
+ }
133
+ else {
134
+ return stackbitField;
135
+ }
136
+ });
137
+ }
138
+ //# sourceMappingURL=model-converter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-converter.mjs","sourceRoot":"","sources":["../../src/connector/model-converter.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import * as StackbitTypes from '@stackbit/types';
2
+ import { BackCompatContentSourceInterface } from './backward-compatibility';
3
+ import { ContentSourceData, ContentStoreEvent, ProvisionalData, ContentStoreEventType } from '../types';
4
+ export declare function updateProvisionalDataFromContentSource({ contentSourceInstance, csiModelMap, provisionalData }: {
5
+ contentSourceInstance: BackCompatContentSourceInterface;
6
+ csiModelMap: Record<string, StackbitTypes.Model>;
7
+ provisionalData: ProvisionalData;
8
+ }): Promise<{
9
+ csiDocuments: StackbitTypes.Document[];
10
+ csiDocumentMap: Record<string, StackbitTypes.Document>;
11
+ csiAssets: StackbitTypes.Asset[];
12
+ csiAssetMap: Record<string, StackbitTypes.Asset>;
13
+ syncContext?: {
14
+ documentsSyncContext?: unknown;
15
+ assetsSyncContext?: unknown;
16
+ };
17
+ }>;
18
+ export declare function syncContentSource({ contentSourceData, contentSourceEvent }: {
19
+ contentSourceData: ContentSourceData;
20
+ contentSourceEvent: ContentStoreEvent & {
21
+ eventName: typeof ContentStoreEventType.ContentSourceRequestSync;
22
+ };
23
+ }): Promise<{
24
+ contentChangesData: StackbitTypes.ContentChanges;
25
+ syncContext: ContentSourceData['syncContext'];
26
+ }>;
27
+ //# sourceMappingURL=content-store-data-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-store-data-manager.d.ts","sourceRoot":"","sources":["../../src/utils/content-store-data-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGxG,wBAAsB,sCAAsC,CAAC,EACzD,qBAAqB,EACrB,WAAW,EACX,eAAe,EAClB,EAAE;IACC,qBAAqB,EAAE,gCAAgC,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC;CACpC,GAAG,OAAO,CAAC;IACR,YAAY,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvD,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACjF,CAAC,CA2DD;AAkGD,wBAAsB,iBAAiB,CAAC,EACpC,iBAAiB,EACjB,kBAAkB,EACrB,EAAE;IACC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,kBAAkB,EAAE,iBAAiB,GAAG;QAAE,SAAS,EAAE,OAAO,qBAAqB,CAAC,wBAAwB,CAAA;KAAE,CAAC;CAChH,GAAG,OAAO,CAAC;IACR,kBAAkB,EAAE,aAAa,CAAC,cAAc,CAAC;IACjD,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;CACjD,CAAC,CA0CD"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.syncContentSource = exports.updateProvisionalDataFromContentSource = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const utils_1 = require("@stackbit/utils");
9
+ async function updateProvisionalDataFromContentSource({ contentSourceInstance, csiModelMap, provisionalData }) {
10
+ /* experimental
11
+ if (contentSourceInstance.sync) {
12
+ const syncResult = await contentSourceInstance.sync({ ...provisionalData.syncContext });
13
+ const { csiDocuments, csiDocumentMap } = updateProvisionalDataWithCSIDocuments({ csiDocuments: syncResult.documents, provisionalData });
14
+ const { csiAssets, csiAssetMap } = updateProvisionalDataWithCSIAssets({ csiAssets: syncResult.assets, provisionalData });
15
+ const syncContext = {
16
+ documentsSyncContext: syncResult.documentsSyncContext,
17
+ assetsSyncContext: syncResult.assetsSyncContext
18
+ };
19
+ return {
20
+ csiDocuments,
21
+ csiAssets,
22
+ csiDocumentMap,
23
+ csiAssetMap,
24
+ syncContext
25
+ };
26
+ } else {
27
+ const csiDocuments = await contentSourceInstance.getDocuments({ modelMap: csiModelMap });
28
+ const csiDocumentMap = _.keyBy(csiDocuments, 'id');
29
+ provisionalData.csiDocuments = csiDocuments;
30
+ provisionalData.csiDocumentMap = csiDocumentMap;
31
+ const csiAssets = await contentSourceInstance.getAssets();
32
+
33
+ const csiAssetMap = _.keyBy(csiAssets, 'id');
34
+ provisionalData.csiAssets = csiAssets;
35
+ provisionalData.csiAssetMap = csiAssetMap;
36
+ */
37
+ const syncContext = {};
38
+ const getDocumentsRes = await contentSourceInstance.getDocuments({
39
+ modelMap: csiModelMap,
40
+ syncContext: provisionalData.syncContext?.documentsSyncContext
41
+ });
42
+ const { csiDocuments, csiDocumentMap, documentsSyncContext } = Array.isArray(getDocumentsRes)
43
+ ? { csiDocuments: getDocumentsRes, csiDocumentMap: lodash_1.default.keyBy(getDocumentsRes, 'id'), documentsSyncContext: undefined }
44
+ : {
45
+ ...updateProvisionalDataWithCSIDocuments({ csiDocuments: getDocumentsRes.documents, provisionalData }),
46
+ documentsSyncContext: getDocumentsRes.syncContext
47
+ };
48
+ provisionalData.csiDocuments = csiDocuments;
49
+ provisionalData.csiDocumentMap = csiDocumentMap;
50
+ syncContext.documentsSyncContext = documentsSyncContext;
51
+ const getAssetsRes = await contentSourceInstance.getAssets({ syncContext: provisionalData.syncContext?.assetsSyncContext });
52
+ const { csiAssets, csiAssetMap, assetsSyncContext } = Array.isArray(getAssetsRes)
53
+ ? { csiAssets: getAssetsRes, csiAssetMap: lodash_1.default.keyBy(getAssetsRes, 'id'), assetsSyncContext: undefined }
54
+ : {
55
+ ...updateProvisionalDataWithCSIAssets({ csiAssets: getAssetsRes.assets, provisionalData }),
56
+ assetsSyncContext: getAssetsRes.syncContext
57
+ };
58
+ provisionalData.csiAssets = csiAssets;
59
+ provisionalData.csiAssetMap = csiAssetMap;
60
+ syncContext.assetsSyncContext = assetsSyncContext;
61
+ provisionalData.syncContext = (0, utils_1.omitByNil)(syncContext);
62
+ return { csiDocuments, csiAssets, csiDocumentMap, csiAssetMap, syncContext };
63
+ // }
64
+ }
65
+ exports.updateProvisionalDataFromContentSource = updateProvisionalDataFromContentSource;
66
+ function updateProvisionalDataWithCSIDocuments({ csiDocuments, provisionalData }) {
67
+ if (!csiDocuments) {
68
+ csiDocuments = [];
69
+ }
70
+ if (provisionalData.syncContext?.documentsSyncContext && provisionalData.csiDocuments) {
71
+ for (let idx = 0; idx < csiDocuments.length; idx++) {
72
+ const csiDocument = csiDocuments[idx];
73
+ const index = provisionalData.csiDocuments.findIndex((doc) => doc.id === csiDocument.id);
74
+ if (index === -1) {
75
+ provisionalData.csiDocuments.push(csiDocument);
76
+ }
77
+ else {
78
+ provisionalData.csiDocuments.splice(index, 1, csiDocument);
79
+ }
80
+ }
81
+ let csiDocumentMap;
82
+ if (provisionalData.csiDocumentMap) {
83
+ csiDocumentMap = Object.assign(provisionalData.csiDocumentMap, lodash_1.default.keyBy(csiDocuments, 'id'));
84
+ }
85
+ else {
86
+ csiDocumentMap = lodash_1.default.keyBy(provisionalData.csiDocuments, 'id');
87
+ provisionalData.csiDocumentMap = csiDocumentMap;
88
+ }
89
+ return {
90
+ csiDocuments: provisionalData.csiDocuments,
91
+ csiDocumentMap
92
+ };
93
+ }
94
+ else {
95
+ const csiDocumentMap = lodash_1.default.keyBy(csiDocuments, 'id');
96
+ provisionalData.csiDocuments = csiDocuments;
97
+ provisionalData.csiDocumentMap = csiDocumentMap;
98
+ return {
99
+ csiDocuments,
100
+ csiDocumentMap
101
+ };
102
+ }
103
+ }
104
+ function updateProvisionalDataWithCSIAssets({ csiAssets, provisionalData }) {
105
+ if (!csiAssets) {
106
+ csiAssets = [];
107
+ }
108
+ if (provisionalData.syncContext?.assetsSyncContext && provisionalData.csiAssets) {
109
+ for (let idx = 0; idx < csiAssets.length; idx++) {
110
+ const csiAsset = csiAssets[idx];
111
+ const index = provisionalData.csiAssets.findIndex((asset) => asset.id === csiAsset.id);
112
+ if (index === -1) {
113
+ provisionalData.csiAssets.push(csiAsset);
114
+ }
115
+ else {
116
+ provisionalData.csiAssets.splice(index, 1, csiAsset);
117
+ }
118
+ }
119
+ let csiAssetMap;
120
+ if (provisionalData.csiAssetMap) {
121
+ csiAssetMap = Object.assign(provisionalData.csiAssetMap, lodash_1.default.keyBy(csiAssets, 'id'));
122
+ }
123
+ else {
124
+ csiAssetMap = lodash_1.default.keyBy(provisionalData.csiAssets, 'id');
125
+ provisionalData.csiAssetMap = csiAssetMap;
126
+ }
127
+ return {
128
+ csiAssets: provisionalData.csiAssets,
129
+ csiAssetMap
130
+ };
131
+ }
132
+ else {
133
+ const csiAssetMap = lodash_1.default.keyBy(csiAssets, 'id');
134
+ provisionalData.csiAssets = csiAssets;
135
+ provisionalData.csiAssetMap = csiAssetMap;
136
+ return {
137
+ csiAssets,
138
+ csiAssetMap
139
+ };
140
+ }
141
+ }
142
+ async function syncContentSource({ contentSourceData, contentSourceEvent }) {
143
+ const syncContext = {
144
+ ...(contentSourceEvent.options?.clearDocumentsSyncContext ? {} : { documentsSyncContext: contentSourceData.syncContext?.documentsSyncContext }),
145
+ ...(contentSourceEvent.options?.clearAssetsSyncContext ? {} : { assetsSyncContext: contentSourceData.syncContext?.assetsSyncContext })
146
+ };
147
+ /* experimental
148
+ if (contentSourceData.instance.sync) {
149
+ const syncResult = await contentSourceData.instance.sync(syncContext);
150
+ return {
151
+ contentChangesData: {
152
+ documents: syncResult.documents,
153
+ assets: syncResult.assets
154
+ },
155
+ syncContext: omitByNil({
156
+ documentsSyncContext: syncResult.documentsSyncContext,
157
+ assetsSyncContext: syncResult.assetsSyncContext
158
+ })
159
+ };
160
+ } else {
161
+ */
162
+ const getDocumentsRes = await contentSourceData.instance.getDocuments({
163
+ modelMap: contentSourceData.csiModelMap,
164
+ syncContext: syncContext.documentsSyncContext
165
+ });
166
+ const csiDocuments = Array.isArray(getDocumentsRes) ? getDocumentsRes : getDocumentsRes.documents;
167
+ const documentsSyncContext = Array.isArray(getDocumentsRes) ? undefined : getDocumentsRes.syncContext;
168
+ const getAssetsRes = await contentSourceData.instance.getAssets({ syncContext: syncContext.assetsSyncContext });
169
+ const csiAssets = Array.isArray(getAssetsRes) ? getAssetsRes : getAssetsRes.assets;
170
+ const assetsSyncContext = Array.isArray(getAssetsRes) ? undefined : getAssetsRes.syncContext;
171
+ return {
172
+ contentChangesData: {
173
+ documents: csiDocuments,
174
+ assets: csiAssets
175
+ },
176
+ syncContext: (0, utils_1.omitByNil)({
177
+ documentsSyncContext,
178
+ assetsSyncContext
179
+ })
180
+ };
181
+ // }
182
+ }
183
+ exports.syncContentSource = syncContentSource;
184
+ //# sourceMappingURL=content-store-data-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-store-data-manager.js","sourceRoot":"","sources":["../../src/utils/content-store-data-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackbit/cms-core",
3
- "version": "1.0.20-develop.2",
3
+ "version": "1.0.20-staging.1",
4
4
  "description": "stackbit-dev",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,9 +26,9 @@
26
26
  "@babel/traverse": "^7.11.5",
27
27
  "@iarna/toml": "^2.2.3",
28
28
  "@netlify/sdk": "^1.17.2",
29
- "@stackbit/sdk": "1.0.20-develop.2",
30
- "@stackbit/types": "0.11.9-develop.2",
31
- "@stackbit/utils": "0.4.9-develop.2",
29
+ "@stackbit/sdk": "1.0.20-staging.1",
30
+ "@stackbit/types": "0.11.9-staging.1",
31
+ "@stackbit/utils": "0.4.9-staging.1",
32
32
  "chalk": "^4.0.1",
33
33
  "content-engine": "0.0.29",
34
34
  "esm": "^3.2.25",
@@ -44,5 +44,5 @@
44
44
  "slugify": "^1.6.5",
45
45
  "uuid": "^9.0.0"
46
46
  },
47
- "gitHead": "706448ac139536d5a06d36fd529b7544f3da77a4"
47
+ "gitHead": "3e30561ea41475eb56169316acb8b5605283a8d3"
48
48
  }