@stackbit/cms-core 0.1.17-alpha.0 → 0.1.17-alpha.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.
- package/dist/content-store-types.d.ts +1 -1
- package/dist/content-store-types.d.ts.map +1 -1
- package/dist/content-store.d.ts +6 -0
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +55 -24
- package/dist/content-store.js.map +1 -1
- package/dist/utils/create-update-csi-docs.d.ts +10 -7
- package/dist/utils/create-update-csi-docs.d.ts.map +1 -1
- package/dist/utils/create-update-csi-docs.js +118 -52
- package/dist/utils/create-update-csi-docs.js.map +1 -1
- package/dist/utils/csi-to-store-docs-converter.js +31 -9
- package/dist/utils/csi-to-store-docs-converter.js.map +1 -1
- package/dist/utils/model-utils.js +2 -2
- package/dist/utils/model-utils.js.map +1 -1
- package/dist/utils/site-map.d.ts +5 -0
- package/dist/utils/site-map.d.ts.map +1 -1
- package/dist/utils/site-map.js +10 -2
- package/dist/utils/site-map.js.map +1 -1
- package/package.json +4 -4
- package/src/content-store-types.ts +1 -1
- package/src/content-store.ts +71 -28
- package/src/utils/create-update-csi-docs.ts +138 -58
- package/src/utils/csi-to-store-docs-converter.ts +31 -9
- package/src/utils/model-utils.ts +2 -2
- package/src/utils/site-map.ts +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-map.js","sourceRoot":"","sources":["../../src/utils/site-map.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"site-map.js","sourceRoot":"","sources":["../../src/utils/site-map.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": "0.1.17-alpha.
|
|
3
|
+
"version": "0.1.17-alpha.1",
|
|
4
4
|
"description": "stackbit-dev",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"@babel/parser": "^7.11.5",
|
|
30
30
|
"@babel/traverse": "^7.11.5",
|
|
31
31
|
"@iarna/toml": "^2.2.3",
|
|
32
|
-
"@stackbit/sdk": "^0.3.13-alpha.
|
|
33
|
-
"@stackbit/types": "^0.1.9-alpha.
|
|
32
|
+
"@stackbit/sdk": "^0.3.13-alpha.1",
|
|
33
|
+
"@stackbit/types": "^0.1.9-alpha.1",
|
|
34
34
|
"@stackbit/utils": "^0.2.14-alpha.0",
|
|
35
35
|
"chalk": "^4.0.1",
|
|
36
36
|
"esm": "^3.2.25",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"sanitize-filename": "^1.6.3",
|
|
46
46
|
"slugify": "^1.6.5"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "6f314d14cfa8d55d2a9ae5f13016df7616950b53"
|
|
49
49
|
}
|
|
@@ -403,7 +403,7 @@ export interface UpdateOperationUnset extends UpdateOperationBase {
|
|
|
403
403
|
export interface UpdateOperationInsert extends UpdateOperationBase {
|
|
404
404
|
opType: 'insert';
|
|
405
405
|
index?: number;
|
|
406
|
-
item: UpdateOperationField
|
|
406
|
+
item: Exclude<UpdateOperationField, UpdateOperationListField>;
|
|
407
407
|
}
|
|
408
408
|
|
|
409
409
|
export interface UpdateOperationRemove extends UpdateOperationBase {
|
package/src/content-store.ts
CHANGED
|
@@ -38,6 +38,7 @@ import {
|
|
|
38
38
|
getSiteMapEntriesFromStackbitConfig,
|
|
39
39
|
updateSiteMapEntriesWithContentChanges,
|
|
40
40
|
getDocumentFieldLabelValueForSiteMapEntry,
|
|
41
|
+
getSiteMapGroupKeyForDocument,
|
|
41
42
|
SiteMapEntryGroups
|
|
42
43
|
} from './utils/site-map';
|
|
43
44
|
import { mapAssetsToLocalizedApiImages, mapDocumentsToLocalizedApiObjects, mapStoreAssetsToAPIAssets } from './utils/store-to-api-docs-converter';
|
|
@@ -401,7 +402,7 @@ export class ContentStore {
|
|
|
401
402
|
// update all content sources at once to prevent race conditions
|
|
402
403
|
this.contentSourceDataById = await this.processData({
|
|
403
404
|
stackbitConfig: this.stackbitConfig,
|
|
404
|
-
configModels:
|
|
405
|
+
configModels: this.modelExtensions ?? (this.configModels as ModelExtension[]) ?? [],
|
|
405
406
|
presets: this.presets,
|
|
406
407
|
contentSourceRawDataArr: contentSourceRawDataArr
|
|
407
408
|
});
|
|
@@ -706,7 +707,7 @@ export class ContentStore {
|
|
|
706
707
|
contentSourceRawDataArr
|
|
707
708
|
}: {
|
|
708
709
|
stackbitConfig: Config | null;
|
|
709
|
-
configModels:
|
|
710
|
+
configModels: ModelExtension[];
|
|
710
711
|
presets: Record<string, Preset>;
|
|
711
712
|
contentSourceRawDataArr: ContentSourceRawData[];
|
|
712
713
|
}): Promise<Record<string, ContentSourceData>> {
|
|
@@ -732,7 +733,7 @@ export class ContentStore {
|
|
|
732
733
|
// log a warning and filter out that config model so it won't be merged with any
|
|
733
734
|
// of the content source models.
|
|
734
735
|
const nonMatchedModels: { configModel: ModelExtension; matchedCSIModels: CSITypes.ModelWithSource[] }[] = [];
|
|
735
|
-
const configModelsByContentSourceId =
|
|
736
|
+
const configModelsByContentSourceId = configModels.reduce((modelGroups: Record<string, ModelExtension[]>, configModel) => {
|
|
736
737
|
const csiModels = csiModelGroups[configModel.name];
|
|
737
738
|
if (!csiModels) {
|
|
738
739
|
nonMatchedModels.push({
|
|
@@ -783,7 +784,8 @@ export class ContentStore {
|
|
|
783
784
|
const contentSourceId = getContentSourceId(csData.srcType, csData.srcProjectId);
|
|
784
785
|
const mergedModels = mergeConfigModelsWithExternalModels({
|
|
785
786
|
configModels: configModelsByContentSourceId[contentSourceId] ?? [],
|
|
786
|
-
externalModels: csData.csiModels
|
|
787
|
+
externalModels: csData.csiModels,
|
|
788
|
+
logger: this.userLogger
|
|
787
789
|
});
|
|
788
790
|
const modelsWithSource = mergedModels.map(
|
|
789
791
|
(model): CSITypes.ModelWithSource => {
|
|
@@ -1034,6 +1036,27 @@ export class ContentStore {
|
|
|
1034
1036
|
return _.isEmpty(locale) ? siteMapEntries : siteMapEntries.filter((siteMapEntry) => !siteMapEntry.locale || siteMapEntry.locale === locale);
|
|
1035
1037
|
}
|
|
1036
1038
|
|
|
1039
|
+
getSiteMapEntriesForDocument({
|
|
1040
|
+
srcType,
|
|
1041
|
+
srcProjectId,
|
|
1042
|
+
srcDocumentId,
|
|
1043
|
+
locale
|
|
1044
|
+
}: {
|
|
1045
|
+
srcType: string;
|
|
1046
|
+
srcProjectId: string;
|
|
1047
|
+
srcDocumentId: string;
|
|
1048
|
+
locale?: string;
|
|
1049
|
+
}): CSITypes.SiteMapEntry[] {
|
|
1050
|
+
const key = getSiteMapGroupKeyForDocument({
|
|
1051
|
+
srcType: srcType,
|
|
1052
|
+
srcProjectId: srcProjectId,
|
|
1053
|
+
srcDocumentId: srcDocumentId
|
|
1054
|
+
});
|
|
1055
|
+
const siteMapEntryGroup = this.siteMapEntryGroups[key];
|
|
1056
|
+
const siteMapEntries = _.values(siteMapEntryGroup);
|
|
1057
|
+
return _.isEmpty(locale) ? siteMapEntries : siteMapEntries.filter((siteMapEntry) => !siteMapEntry.locale || siteMapEntry.locale === locale);
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1037
1060
|
getDocument({
|
|
1038
1061
|
srcDocumentId,
|
|
1039
1062
|
srcProjectId,
|
|
@@ -1184,18 +1207,18 @@ export class ContentStore {
|
|
|
1184
1207
|
// get the document model
|
|
1185
1208
|
const documentModelName = document.srcModelName;
|
|
1186
1209
|
const csiModelMap = contentSourceData.csiModelMap;
|
|
1187
|
-
const
|
|
1188
|
-
if (!
|
|
1210
|
+
const csiModel = csiModelMap[documentModelName];
|
|
1211
|
+
if (!csiModel) {
|
|
1189
1212
|
throw new Error(`error updating document, could not find document model: '${documentModelName}'`);
|
|
1190
1213
|
}
|
|
1191
1214
|
|
|
1192
1215
|
// get the 'reference' model field in the updated document that will be used to link the new document
|
|
1193
1216
|
locale = locale ?? contentSourceData.defaultLocaleCode;
|
|
1194
|
-
const
|
|
1195
|
-
if (!
|
|
1217
|
+
const csiModelField = getModelFieldForFieldAtPath(document, csiModel, fieldPath, csiModelMap, locale);
|
|
1218
|
+
if (!csiModelField) {
|
|
1196
1219
|
throw Error(`the "fieldPath" points to non existing model field: ${fieldPath.join('.')}`);
|
|
1197
1220
|
}
|
|
1198
|
-
const fieldProps =
|
|
1221
|
+
const fieldProps = csiModelField.type === 'list' ? csiModelField.items! : csiModelField;
|
|
1199
1222
|
if (fieldProps.type !== 'reference') {
|
|
1200
1223
|
throw Error(`error in "createAndLinkDocument", this operation can only be used on reference field: ${fieldPath.join('.')}`);
|
|
1201
1224
|
}
|
|
@@ -1230,11 +1253,11 @@ export class ContentStore {
|
|
|
1230
1253
|
modelMap: csiModelMap,
|
|
1231
1254
|
userContext: userContext,
|
|
1232
1255
|
operations: [
|
|
1233
|
-
|
|
1256
|
+
csiModelField.type === 'list'
|
|
1234
1257
|
? {
|
|
1235
1258
|
opType: 'insert',
|
|
1236
1259
|
fieldPath: fieldPath,
|
|
1237
|
-
modelField:
|
|
1260
|
+
modelField: csiModelField,
|
|
1238
1261
|
locale: locale,
|
|
1239
1262
|
index: index,
|
|
1240
1263
|
item: field
|
|
@@ -1242,7 +1265,7 @@ export class ContentStore {
|
|
|
1242
1265
|
: {
|
|
1243
1266
|
opType: 'set',
|
|
1244
1267
|
fieldPath: fieldPath,
|
|
1245
|
-
modelField:
|
|
1268
|
+
modelField: csiModelField,
|
|
1246
1269
|
locale: locale,
|
|
1247
1270
|
field: field
|
|
1248
1271
|
}
|
|
@@ -1348,11 +1371,11 @@ export class ContentStore {
|
|
|
1348
1371
|
|
|
1349
1372
|
// get the 'reference' model field in the updated document that will be used to link the new asset
|
|
1350
1373
|
locale = locale ?? contentSourceData.defaultLocaleCode;
|
|
1351
|
-
const
|
|
1352
|
-
if (!
|
|
1374
|
+
const csiModelField = getModelFieldForFieldAtPath(document, csiModel, fieldPath, csiModelMap, locale);
|
|
1375
|
+
if (!csiModelField) {
|
|
1353
1376
|
throw Error(`the "fieldPath" points to non existing model field: ${fieldPath.join('.')}`);
|
|
1354
1377
|
}
|
|
1355
|
-
const fieldProps =
|
|
1378
|
+
const fieldProps = csiModelField.type === 'list' ? csiModelField.items! : csiModelField;
|
|
1356
1379
|
if (fieldProps.type !== 'reference' && fieldProps.type !== 'image') {
|
|
1357
1380
|
throw Error(`error in "uploadAndLinkAsset", this operation can only be used on reference and image fields: ${fieldPath.join('.')}`);
|
|
1358
1381
|
}
|
|
@@ -1378,11 +1401,11 @@ export class ContentStore {
|
|
|
1378
1401
|
modelMap: csiModelMap,
|
|
1379
1402
|
userContext: userContext,
|
|
1380
1403
|
operations: [
|
|
1381
|
-
|
|
1404
|
+
csiModelField.type === 'list'
|
|
1382
1405
|
? {
|
|
1383
1406
|
opType: 'insert',
|
|
1384
1407
|
fieldPath: fieldPath,
|
|
1385
|
-
modelField:
|
|
1408
|
+
modelField: csiModelField,
|
|
1386
1409
|
locale: locale,
|
|
1387
1410
|
index: index,
|
|
1388
1411
|
item: field
|
|
@@ -1390,7 +1413,7 @@ export class ContentStore {
|
|
|
1390
1413
|
: {
|
|
1391
1414
|
opType: 'set',
|
|
1392
1415
|
fieldPath: fieldPath,
|
|
1393
|
-
modelField:
|
|
1416
|
+
modelField: csiModelField,
|
|
1394
1417
|
locale: locale,
|
|
1395
1418
|
field: field
|
|
1396
1419
|
}
|
|
@@ -1429,6 +1452,7 @@ export class ContentStore {
|
|
|
1429
1452
|
object,
|
|
1430
1453
|
modelName,
|
|
1431
1454
|
modelMap,
|
|
1455
|
+
csiModelMap,
|
|
1432
1456
|
createDocument: getCreateDocumentThunk({
|
|
1433
1457
|
locale: resolvedLocale,
|
|
1434
1458
|
csiModelMap,
|
|
@@ -1477,7 +1501,8 @@ export class ContentStore {
|
|
|
1477
1501
|
const csiModelMap = contentSourceData.csiModelMap;
|
|
1478
1502
|
const documentModelName = document.srcModelName;
|
|
1479
1503
|
const model = modelMap[documentModelName];
|
|
1480
|
-
|
|
1504
|
+
const csiModel = csiModelMap[documentModelName];
|
|
1505
|
+
if (!model || !csiModel) {
|
|
1481
1506
|
throw new Error(`error updating document, could not find document model: '${documentModelName}'`);
|
|
1482
1507
|
}
|
|
1483
1508
|
|
|
@@ -1486,13 +1511,16 @@ export class ContentStore {
|
|
|
1486
1511
|
async (updateOperation): Promise<CSITypes.UpdateOperation> => {
|
|
1487
1512
|
const locale = updateOperation.locale ?? contentSourceData.defaultLocaleCode;
|
|
1488
1513
|
const modelField = getModelFieldForFieldAtPath(document, model, updateOperation.fieldPath, modelMap, locale);
|
|
1514
|
+
const csiModelField = getModelFieldForFieldAtPath(document, csiModel, updateOperation.fieldPath, csiModelMap, locale);
|
|
1489
1515
|
switch (updateOperation.opType) {
|
|
1490
1516
|
case 'set':
|
|
1491
1517
|
const field = await convertOperationField({
|
|
1492
1518
|
operationField: updateOperation.field,
|
|
1493
|
-
fieldPath: updateOperation.fieldPath,
|
|
1519
|
+
fieldPath: [csiModel.name, ...updateOperation.fieldPath],
|
|
1494
1520
|
modelField,
|
|
1521
|
+
csiModelField,
|
|
1495
1522
|
modelMap,
|
|
1523
|
+
csiModelMap,
|
|
1496
1524
|
createDocument: getCreateDocumentThunk({
|
|
1497
1525
|
locale: updateOperation.locale,
|
|
1498
1526
|
csiModelMap,
|
|
@@ -1502,17 +1530,25 @@ export class ContentStore {
|
|
|
1502
1530
|
});
|
|
1503
1531
|
return {
|
|
1504
1532
|
...updateOperation,
|
|
1505
|
-
modelField,
|
|
1533
|
+
modelField: csiModelField,
|
|
1506
1534
|
field
|
|
1507
1535
|
};
|
|
1508
1536
|
case 'unset':
|
|
1509
|
-
return {
|
|
1537
|
+
return {
|
|
1538
|
+
...updateOperation,
|
|
1539
|
+
modelField: csiModelField
|
|
1540
|
+
};
|
|
1510
1541
|
case 'insert':
|
|
1542
|
+
if (modelField.type !== 'list' || csiModelField.type !== 'list') {
|
|
1543
|
+
throw new Error(`error updating document, 'insert' operation can be performed on 'list' fields only`);
|
|
1544
|
+
}
|
|
1511
1545
|
const item = await convertOperationField({
|
|
1512
1546
|
operationField: updateOperation.item,
|
|
1513
|
-
fieldPath: updateOperation.fieldPath,
|
|
1514
|
-
modelField,
|
|
1547
|
+
fieldPath: [csiModel.name, ...updateOperation.fieldPath],
|
|
1548
|
+
modelField: modelField.items,
|
|
1549
|
+
csiModelField: csiModelField.items,
|
|
1515
1550
|
modelMap,
|
|
1551
|
+
csiModelMap,
|
|
1516
1552
|
createDocument: getCreateDocumentThunk({
|
|
1517
1553
|
locale: updateOperation.locale,
|
|
1518
1554
|
csiModelMap,
|
|
@@ -1522,13 +1558,19 @@ export class ContentStore {
|
|
|
1522
1558
|
});
|
|
1523
1559
|
return {
|
|
1524
1560
|
...updateOperation,
|
|
1525
|
-
modelField,
|
|
1561
|
+
modelField: csiModelField,
|
|
1526
1562
|
item
|
|
1527
|
-
};
|
|
1563
|
+
} as CSITypes.UpdateOperationInsert;
|
|
1528
1564
|
case 'remove':
|
|
1529
|
-
return {
|
|
1565
|
+
return {
|
|
1566
|
+
...updateOperation,
|
|
1567
|
+
modelField: csiModelField
|
|
1568
|
+
};
|
|
1530
1569
|
case 'reorder':
|
|
1531
|
-
return {
|
|
1570
|
+
return {
|
|
1571
|
+
...updateOperation,
|
|
1572
|
+
modelField: csiModelField
|
|
1573
|
+
};
|
|
1532
1574
|
}
|
|
1533
1575
|
}
|
|
1534
1576
|
);
|
|
@@ -1595,6 +1637,7 @@ export class ContentStore {
|
|
|
1595
1637
|
object: extendedObject,
|
|
1596
1638
|
modelName: model.name,
|
|
1597
1639
|
modelMap,
|
|
1640
|
+
csiModelMap,
|
|
1598
1641
|
createDocument: getCreateDocumentThunk({
|
|
1599
1642
|
locale: resolvedLocale,
|
|
1600
1643
|
csiModelMap,
|