@stackbit/cms-core 0.0.21-alpha.2 → 0.1.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.
@@ -1,40 +1,41 @@
1
1
  import { Config, Model } from '@stackbit/sdk';
2
- import * as CSITypes from './content-source-interface';
3
2
  import * as ContentStoreTypes from './content-store-types';
4
3
  import { UserCommandSpawner } from './common/common-types';
5
4
  export interface ContentSourceOptions {
6
5
  logger: ContentStoreTypes.Logger;
7
6
  userLogger: ContentStoreTypes.Logger;
8
7
  localDev: boolean;
9
- stackbitYamlDir: string;
10
- contentSources: CSITypes.ContentSourceInterface[];
11
8
  userCommandSpawner?: UserCommandSpawner;
12
9
  onSchemaChangeCallback: () => void;
13
10
  onContentChangeCallback: (contentChanges: ContentStoreTypes.ContentChangeResult) => void;
14
11
  handleConfigAssets: (config: Config) => Promise<Config>;
15
12
  }
16
13
  export declare class ContentStore {
17
- private readonly contentSources;
18
14
  private readonly logger;
19
15
  private readonly userLogger;
20
16
  private readonly userCommandSpawner?;
21
17
  private readonly localDev;
22
- private readonly stackbitYamlDir;
23
18
  private readonly onSchemaChangeCallback;
24
19
  private readonly onContentChangeCallback;
25
20
  private readonly handleConfigAssets;
21
+ private contentSources;
26
22
  private contentSourceDataById;
27
23
  private contentUpdatesWatchTimer;
28
24
  private rawStackbitConfig;
29
25
  private presets?;
30
26
  constructor(options: ContentSourceOptions);
31
- init(): Promise<void>;
32
- reset(): Promise<void>;
27
+ init({ stackbitConfig }: {
28
+ stackbitConfig: Config | null;
29
+ }): Promise<void>;
30
+ onStackbitConfigChange({ stackbitConfig }: {
31
+ stackbitConfig: Config | null;
32
+ }): Promise<void>;
33
+ private setStackbitConfig;
33
34
  /**
34
35
  * This method is called when contentUpdatesWatchTimer receives timeout.
35
36
  * It then notifies all content sources to stop watching for content changes.
36
37
  */
37
- handleTimerTimeout(): void;
38
+ private handleTimerTimeout;
38
39
  /**
39
40
  * This method is called when user interacts with Stackbit application.
40
41
  * It is used to reset contentUpdatesWatchTimer. When the timer is over
@@ -54,16 +55,12 @@ export declare class ContentStore {
54
55
  contentSourceId: string;
55
56
  }): Promise<void>;
56
57
  onFilesChange(updatedFiles: string[]): Promise<{
57
- stackbitConfigUpdated?: boolean;
58
58
  schemaChanged?: boolean;
59
59
  contentChanges: ContentStoreTypes.ContentChangeResult;
60
60
  }>;
61
- loadStackbitConfig(): Promise<Record<string, any> | undefined>;
62
- loadContentSourceData({ contentSourceInstance, init }: {
63
- contentSourceInstance: CSITypes.ContentSourceInterface;
64
- init: boolean;
65
- }): Promise<void>;
66
- onContentChange(contentSourceId: string, contentChangeEvent: CSITypes.ContentChangeEvent): ContentStoreTypes.ContentChangeResult;
61
+ private loadContentSources;
62
+ private loadContentSourceData;
63
+ private onContentChange;
67
64
  getModels(): Record<string, Record<string, Record<string, Model>>>;
68
65
  getLocales(): string[];
69
66
  getPresets(): Record<string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}
@@ -15,36 +15,81 @@ const common_schema_1 = require("./common/common-schema");
15
15
  const timer_1 = require("./utils/timer");
16
16
  class ContentStore {
17
17
  constructor(options) {
18
+ this.contentSources = [];
18
19
  this.contentSourceDataById = {};
20
+ this.rawStackbitConfig = null;
19
21
  this.logger = options.logger.createLogger({ label: 'content-store' });
20
22
  this.userLogger = options.userLogger.createLogger({ label: 'content-store' });
21
23
  this.localDev = options.localDev;
22
24
  this.userCommandSpawner = options.userCommandSpawner;
23
- this.stackbitYamlDir = options.stackbitYamlDir; // TODO: remove stackbitYamlDir, ContentStore should not be aware of filesystem, instead pass autoreloading Config object
24
- this.contentSources = options.contentSources;
25
25
  this.onSchemaChangeCallback = options.onSchemaChangeCallback;
26
26
  this.onContentChangeCallback = options.onContentChangeCallback;
27
27
  this.handleConfigAssets = options.handleConfigAssets;
28
28
  this.contentUpdatesWatchTimer = new timer_1.Timer({ timerCallback: () => this.handleTimerTimeout(), logger: this.logger });
29
+ // The `loadContentSourceData` method can be called for different
30
+ // reasons: user restarted SSG from Stackbit, Stackbit Config updated,
31
+ // the Content-Source's schema updated, etc.
32
+ // Therefore, the `loadContentSourceData` method can be called multiple
33
+ // times rapidly before the previous call had a chance to resolve. To
34
+ // prevent parallel content loading and race conditions, defer the next
35
+ // call until the previous call resolves.
36
+ // TODO: wrap the deferred method with 500ms debounce to optimize for
37
+ // multiple file changes after pull, for example, when both Sanity
38
+ // schema files and stackbit config file were updated.
39
+ this.loadContentSourceData = (0, utils_1.deferWhileRunning)(this.loadContentSourceData, {
40
+ thisArg: this,
41
+ // Group the deferred calls by content source ID.
42
+ groupResolver: ({ contentSourceInstance }) => {
43
+ return getContentSourceIdForContentSource(contentSourceInstance);
44
+ },
45
+ // When the loadContentSourceData call is called multiple times with
46
+ // different "init" values, ensure that the deferred call will be
47
+ // called with "init: true" if one of the calls had "init: true".
48
+ // In other words, make the "init: true" sticky.
49
+ argsResolver: ({ nextArgs, prevArgs }) => {
50
+ return [
51
+ {
52
+ contentSourceInstance: nextArgs[0].contentSourceInstance,
53
+ init: nextArgs[0].init || Boolean(prevArgs === null || prevArgs === void 0 ? void 0 : prevArgs[0].init)
54
+ }
55
+ ];
56
+ }
57
+ });
29
58
  }
30
- async init() {
59
+ async init({ stackbitConfig }) {
31
60
  this.logger.debug('init');
32
- this.rawStackbitConfig = await this.loadStackbitConfig();
33
- this.logger.debug('init => load content source data');
34
- for (const contentSourceInstance of this.contentSources) {
35
- await this.loadContentSourceData({ contentSourceInstance, init: true });
61
+ await this.setStackbitConfig({ stackbitConfig, init: true });
62
+ }
63
+ async onStackbitConfigChange({ stackbitConfig }) {
64
+ this.logger.debug('onStackbitConfigChange');
65
+ await this.setStackbitConfig({ stackbitConfig, init: true });
66
+ }
67
+ async setStackbitConfig({ stackbitConfig, init }) {
68
+ // TODO: Use stackbitConfig instead of loading rawStackbitConfig here
69
+ // by splitting config loader into independent phases:
70
+ // 1. load and validate only the root config props
71
+ // 2. load content-source models
72
+ // 3. merge content-source models with config.models or via config.mapModels, sanitize and validate
73
+ // 4. load presets, adjust presets to have srcType and srcProjectId
74
+ if (!stackbitConfig) {
75
+ this.rawStackbitConfig = null;
36
76
  }
37
- this.contentUpdatesWatchTimer.startTimer();
38
- }
39
- async reset() {
40
- this.logger.debug('reset');
41
- this.contentUpdatesWatchTimer.stopTimer();
42
- this.rawStackbitConfig = await this.loadStackbitConfig();
43
- this.logger.debug('reset => load content source data');
44
- for (const contentSourceInstance of this.contentSources) {
45
- await this.loadContentSourceData({ contentSourceInstance, init: false });
77
+ else {
78
+ const rawConfigResult = await (0, sdk_1.loadConfigFromDir)({ dirPath: stackbitConfig.dirPath });
79
+ for (const error of rawConfigResult.errors) {
80
+ this.userLogger.warn(error.message);
81
+ }
82
+ if (rawConfigResult.config) {
83
+ this.rawStackbitConfig = {
84
+ ...rawConfigResult.config,
85
+ contentSources: stackbitConfig.contentSources
86
+ };
87
+ }
88
+ else {
89
+ this.rawStackbitConfig = null;
90
+ }
46
91
  }
47
- this.contentUpdatesWatchTimer.startTimer();
92
+ await this.loadContentSources({ init });
48
93
  }
49
94
  /**
50
95
  * This method is called when contentUpdatesWatchTimer receives timeout.
@@ -61,13 +106,12 @@ class ContentStore {
61
106
  * all content sources are notified to stop watching for content updates.
62
107
  */
63
108
  async keepAlive() {
64
- if (!this.contentUpdatesWatchTimer.isRunning()) {
65
- this.logger.debug('keepAlive => contentUpdatesWatchTimer is not running => load content source data');
66
- for (const contentSourceInstance of this.contentSources) {
67
- await this.loadContentSourceData({ contentSourceInstance, init: false });
68
- }
109
+ if (this.contentUpdatesWatchTimer.isRunning()) {
110
+ this.contentUpdatesWatchTimer.resetTimer();
111
+ return;
69
112
  }
70
- this.contentUpdatesWatchTimer.resetTimer();
113
+ this.logger.debug('keepAlive => contentUpdatesWatchTimer is not running => load content source data');
114
+ await this.loadContentSources({ init: false });
71
115
  }
72
116
  /**
73
117
  * This method is called when a content source notifies Stackbit of models
@@ -81,7 +125,7 @@ class ContentStore {
81
125
  async onContentSourceSchemaChange({ contentSourceId }) {
82
126
  this.logger.debug('onContentSourceSchemaChange', { contentSourceId });
83
127
  const contentSourceData = this.getContentSourceDataByIdOrThrow(contentSourceId);
84
- await this.loadContentSourceData({
128
+ this.contentSourceDataById[contentSourceId] = await this.loadContentSourceData({
85
129
  contentSourceInstance: contentSourceData.instance,
86
130
  init: false
87
131
  });
@@ -90,11 +134,6 @@ class ContentStore {
90
134
  async onFilesChange(updatedFiles) {
91
135
  var _a, _b;
92
136
  this.logger.debug('onFilesChange');
93
- const stackbitConfigUpdated = lodash_1.default.some(updatedFiles, (filePath) => isStackbitConfigFile(filePath));
94
- this.logger.debug(`stackbitConfigUpdated: ${stackbitConfigUpdated}`);
95
- if (stackbitConfigUpdated) {
96
- this.rawStackbitConfig = await this.loadStackbitConfig();
97
- }
98
137
  let someContentSourceSchemaUpdated = false;
99
138
  const contentChanges = {
100
139
  updatedDocuments: [],
@@ -109,11 +148,9 @@ class ContentStore {
109
148
  this.logger.debug(`schemaChanged: ${schemaChanged}, has contentChangeEvent: ${!!contentChangeEvent}`);
110
149
  // if schema is changed, there is no need to return contentChanges
111
150
  // because schema changes reloads everything and implies content changes
112
- if (stackbitConfigUpdated || schemaChanged) {
113
- if (schemaChanged) {
114
- someContentSourceSchemaUpdated = true;
115
- }
116
- await this.loadContentSourceData({ contentSourceInstance, init: false });
151
+ if (schemaChanged) {
152
+ someContentSourceSchemaUpdated = true;
153
+ this.contentSourceDataById[contentSourceId] = await this.loadContentSourceData({ contentSourceInstance, init: false });
117
154
  }
118
155
  else if (contentChangeEvent) {
119
156
  const contentChangeResult = this.onContentChange(contentSourceId, contentChangeEvent);
@@ -124,30 +161,28 @@ class ContentStore {
124
161
  }
125
162
  }
126
163
  return {
127
- stackbitConfigUpdated,
128
- schemaChanged: someContentSourceSchemaUpdated || stackbitConfigUpdated,
164
+ schemaChanged: someContentSourceSchemaUpdated,
129
165
  contentChanges: contentChanges
130
166
  };
131
167
  }
132
- async loadStackbitConfig() {
133
- this.logger.debug('loadStackbitConfig');
134
- // TODO: use esbuild to watch for stackbit.config.js changes and notify
135
- // the content-store via onStackbitConfigChange with updated rawConfig
136
- const { config, errors } = await (0, sdk_1.loadConfigFromDir)({ dirPath: this.stackbitYamlDir });
137
- for (const error of errors) {
138
- this.userLogger.warn(error.message);
139
- }
140
- if (!config) {
141
- this.userLogger.error(`could not load stackbit config`);
142
- }
143
- return config;
168
+ async loadContentSources({ init }) {
169
+ var _a, _b;
170
+ this.logger.debug('loadContentSources', { init });
171
+ this.contentUpdatesWatchTimer.stopTimer();
172
+ // TODO: move CSITypes to separate package so Config will be able to use them
173
+ const contentSources = ((_b = (_a = this.rawStackbitConfig) === null || _a === void 0 ? void 0 : _a.contentSources) !== null && _b !== void 0 ? _b : []);
174
+ const promises = contentSources.map((contentSourceInstance) => {
175
+ return this.loadContentSourceData({ contentSourceInstance, init });
176
+ });
177
+ const contentSourceDataArr = await Promise.all(promises);
178
+ const contentSourceDataById = lodash_1.default.keyBy(contentSourceDataArr, 'id');
179
+ // update all content sources at once to prevent race conditions
180
+ this.contentSources = contentSources;
181
+ this.contentSourceDataById = contentSourceDataById;
182
+ this.contentUpdatesWatchTimer.startTimer();
144
183
  }
145
184
  async loadContentSourceData({ contentSourceInstance, init }) {
146
- // TODO: defer loading content if content is already loading for a specific content source
147
- var _a;
148
- // TODO: optimize: cache raw responses from contentSource
149
- // e.g.: getModels(), getDocuments(), getAssets()
150
- // ana use the cached response to remap documents when only stackbitConfig changes
185
+ var _a, _b, _c, _d;
151
186
  const contentSourceId = getContentSourceIdForContentSource(contentSourceInstance);
152
187
  this.logger.debug('loadContentSourceData', { contentSourceId, init });
153
188
  if (init) {
@@ -162,23 +197,41 @@ class ContentStore {
162
197
  contentSourceInstance.stopWatchingContentUpdates();
163
198
  await contentSourceInstance.reset();
164
199
  }
200
+ // TODO: introduce optimization: don't fetch content source models,
201
+ // documents, assets if only stackbitConfig was changed
165
202
  const csiModels = await contentSourceInstance.getModels();
166
203
  const locales = await (contentSourceInstance === null || contentSourceInstance === void 0 ? void 0 : contentSourceInstance.getLocales());
167
- const result = await (0, sdk_1.extendConfig)({ dirPath: this.stackbitYamlDir, config: this.rawStackbitConfig, externalModels: csiModels });
168
- const config = await this.handleConfigAssets(result.config);
169
- const models = config.models;
170
- const modelMap = lodash_1.default.keyBy(models, 'name');
171
204
  const defaultLocaleCode = (_a = locales === null || locales === void 0 ? void 0 : locales.find((locale) => locale.default)) === null || _a === void 0 ? void 0 : _a.code;
172
- for (const error of result.errors) {
173
- this.userLogger.warn(error.message);
205
+ // for older versions of stackbit, it uses models to extend content source models
206
+ let models = [];
207
+ if (this.rawStackbitConfig) {
208
+ const result = await (0, sdk_1.extendConfig)({
209
+ config: this.rawStackbitConfig,
210
+ externalModels: csiModels
211
+ });
212
+ for (const error of (_b = result === null || result === void 0 ? void 0 : result.errors) !== null && _b !== void 0 ? _b : []) {
213
+ this.userLogger.warn(error.message);
214
+ }
215
+ const config = await this.handleConfigAssets(result.config);
216
+ models = (_c = config === null || config === void 0 ? void 0 : config.models) !== null && _c !== void 0 ? _c : [];
217
+ // TODO: load presets externally from config, and create additional map
218
+ // that maps presetIds by model name instead of storing that map inside every model
219
+ // TODO: adjust presets to have srcType and srcProjectId
220
+ this.presets = config === null || config === void 0 ? void 0 : config.presets;
221
+ }
222
+ if ((_d = this.rawStackbitConfig) === null || _d === void 0 ? void 0 : _d.mapModels) {
223
+ models = this.rawStackbitConfig.mapModels({
224
+ models: models,
225
+ contentSourceType: contentSourceInstance.getContentSourceType(),
226
+ contentSourceProjectId: contentSourceInstance.getProjectId()
227
+ });
174
228
  }
175
- // TODO: load presets externally from config, and create additional map
176
- // that maps presetIds by model name instead of storing that map inside every model
177
- this.presets = config.presets;
229
+ const modelMap = lodash_1.default.keyBy(models, 'name');
178
230
  const csiDocuments = await contentSourceInstance.getDocuments({ modelMap });
179
231
  const csiAssets = await contentSourceInstance.getAssets();
180
232
  const csiDocumentMap = lodash_1.default.keyBy(csiDocuments, 'id');
181
233
  const csiAssetMap = lodash_1.default.keyBy(csiAssets, 'id');
234
+ const csiModelMap = lodash_1.default.keyBy(csiModels, 'name');
182
235
  const contentStoreDocuments = mapCSIDocumentsToStoreDocuments({
183
236
  csiDocuments,
184
237
  contentSourceInstance,
@@ -200,29 +253,9 @@ class ContentStore {
200
253
  documentCount: contentStoreDocuments.length,
201
254
  assetCount: contentStoreAssets.length
202
255
  });
203
- this.contentSourceDataById[contentSourceId] = {
204
- id: contentSourceId,
205
- type: contentSourceInstance.getContentSourceType(),
206
- projectId: contentSourceInstance.getProjectId(),
207
- instance: contentSourceInstance,
208
- locales: locales,
209
- defaultLocaleCode: defaultLocaleCode,
210
- models: models,
211
- modelMap: modelMap,
212
- csiModelMap: lodash_1.default.keyBy(csiModels, 'name'),
213
- csiDocuments: csiDocuments,
214
- csiDocumentMap: csiDocumentMap,
215
- documents: contentStoreDocuments,
216
- documentMap: documentMap,
217
- csiAssets: csiAssets,
218
- csiAssetMap: csiAssetMap,
219
- assets: contentStoreAssets,
220
- assetMap: assetMap
221
- };
222
256
  contentSourceInstance.startWatchingContentUpdates({
223
257
  getModelMap: () => {
224
- const contentSourceData = this.getContentSourceDataByIdOrThrow(contentSourceId);
225
- return contentSourceData.csiModelMap;
258
+ return csiModelMap;
226
259
  },
227
260
  getDocument({ documentId }) {
228
261
  return csiDocumentMap[documentId];
@@ -237,13 +270,32 @@ class ContentStore {
237
270
  },
238
271
  onSchemaChange: async () => {
239
272
  this.logger.debug('content source called onSchemaChange', { contentSourceId });
240
- await this.loadContentSourceData({
273
+ this.contentSourceDataById[contentSourceId] = await this.loadContentSourceData({
241
274
  contentSourceInstance: contentSourceInstance,
242
275
  init: false
243
276
  });
244
277
  this.onSchemaChangeCallback();
245
278
  }
246
279
  });
280
+ return {
281
+ id: contentSourceId,
282
+ type: contentSourceInstance.getContentSourceType(),
283
+ projectId: contentSourceInstance.getProjectId(),
284
+ instance: contentSourceInstance,
285
+ locales: locales,
286
+ defaultLocaleCode: defaultLocaleCode,
287
+ models: models,
288
+ modelMap: modelMap,
289
+ csiModelMap: csiModelMap,
290
+ csiDocuments: csiDocuments,
291
+ csiDocumentMap: csiDocumentMap,
292
+ documents: contentStoreDocuments,
293
+ documentMap: documentMap,
294
+ csiAssets: csiAssets,
295
+ csiAssetMap: csiAssetMap,
296
+ assets: contentStoreAssets,
297
+ assetMap: assetMap
298
+ };
247
299
  }
248
300
  onContentChange(contentSourceId, contentChangeEvent) {
249
301
  // TODO: prevent content change process for contentSourceId if loading content is in progress
@@ -1742,12 +1794,6 @@ function getDocumentFieldForLocale(docField, locale) {
1742
1794
  return docField;
1743
1795
  }
1744
1796
  }
1745
- function isStackbitConfigFile(filePath) {
1746
- const pathObject = path_1.default.parse(filePath);
1747
- const isInDotStackbitFolder = pathObject.dir.startsWith('.stackbit');
1748
- const isMainStackbitConfigFile = pathObject.name === 'stackbit' && ['yaml', 'yml'].includes(pathObject.ext.substring(1));
1749
- return isMainStackbitConfigFile || isInDotStackbitFolder;
1750
- }
1751
1797
  function getCSIDocumentsAndAssetsFromContentSourceDataByIds(contentSourceData, objects) {
1752
1798
  const documents = [];
1753
1799
  const assets = [];
@@ -1789,9 +1835,7 @@ function validateDocumentFields(document, documentField, fieldPath, contentSourc
1789
1835
  });
1790
1836
  }
1791
1837
  else if (documentField.type === 'reference') {
1792
- const objRef = documentField.refType === 'asset'
1793
- ? contentSourceData.assetMap[documentField.refId]
1794
- : contentSourceData.documentMap[documentField.refId];
1838
+ const objRef = documentField.refType === 'asset' ? contentSourceData.assetMap[documentField.refId] : contentSourceData.documentMap[documentField.refId];
1795
1839
  if (!objRef) {
1796
1840
  errors.push({
1797
1841
  fieldPath,
@@ -1 +1 @@
1
- {"version":3,"file":"content-store.js","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-store.js","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stackbit/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,CAAC,CAgChH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stackbit/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,CAAC,CAkChH"}
@@ -34,7 +34,9 @@ function fetchAndConvertSchema(options) {
34
34
  'presetSource',
35
35
  'modelsSource',
36
36
  'models',
37
- 'presets'
37
+ 'presets',
38
+ 'dirPath',
39
+ 'filePath'
38
40
  ]);
39
41
  return { schema, errors };
40
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stackbit/index.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,uCAAoE;AAEpE,SAAgB,qBAAqB,CAAC,OAA4B;IAC9D,OAAO,IAAA,gBAAU,EAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACxE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,EAAE,MAAM,EAAE,EAAY,EAAE,MAAM,EAAE,CAAC;SAC3C;QACD,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1B,iBAAiB;YACjB,SAAS;YACT,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,SAAS;YACT,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,WAAW;YACX,QAAQ;YACR,SAAS;YACT,UAAU;YACV,eAAe;YACf,eAAe;YACf,cAAc;YACd,aAAa;YACb,eAAe;YACf,cAAc;YACd,cAAc;YACd,QAAQ;YACR,SAAS;SACZ,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC;AAhCD,sDAgCC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACtC,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAA,qBAAe,EAAC,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,gBAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE;YACnB;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,KAAK;aACrB;SACJ,CAAC,CAAC;QACH,gBAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stackbit/index.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,uCAAoE;AAEpE,SAAgB,qBAAqB,CAAC,OAA4B;IAC9D,OAAO,IAAA,gBAAU,EAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACxE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,EAAE,MAAM,EAAE,EAAY,EAAE,MAAM,EAAE,CAAC;SAC3C;QACD,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1B,iBAAiB;YACjB,SAAS;YACT,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,SAAS;YACT,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,WAAW;YACX,QAAQ;YACR,SAAS;YACT,UAAU;YACV,eAAe;YACf,eAAe;YACf,cAAc;YACd,aAAa;YACb,eAAe;YACf,cAAc;YACd,cAAc;YACd,QAAQ;YACR,SAAS;YACT,SAAS;YACT,UAAU;SACb,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC;AAlCD,sDAkCC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACtC,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAA,qBAAe,EAAC,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,gBAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE;YACnB;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,KAAK;aACrB;SACJ,CAAC,CAAC;QACH,gBAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackbit/cms-core",
3
- "version": "0.0.21-alpha.2",
3
+ "version": "0.1.0",
4
4
  "description": "stackbit-dev",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,8 +28,8 @@
28
28
  "@babel/parser": "^7.11.5",
29
29
  "@babel/traverse": "^7.11.5",
30
30
  "@iarna/toml": "^2.2.3",
31
- "@stackbit/sdk": "^0.2.39-alpha.2",
32
- "@stackbit/utils": "^0.2.6-alpha.2",
31
+ "@stackbit/sdk": "^0.3.0",
32
+ "@stackbit/utils": "^0.2.7",
33
33
  "chalk": "^4.0.1",
34
34
  "esm": "^3.2.25",
35
35
  "fs-extra": "^8.1.0",
@@ -43,5 +43,5 @@
43
43
  "sanitize-filename": "^1.6.3",
44
44
  "slugify": "^1.6.5"
45
45
  },
46
- "gitHead": "58bd6f43457dfcb38f3bd5e937602fc8df652eaa"
46
+ "gitHead": "f19146e9925621f98012a47b04521e4b6ab4dbf1"
47
47
  }
@@ -4,7 +4,7 @@ import path from 'path';
4
4
  import sanitizeFilename from 'sanitize-filename';
5
5
  import {
6
6
  Config,
7
- extendConfig,
7
+ Model,
8
8
  Field,
9
9
  FieldList,
10
10
  FieldListItems,
@@ -12,10 +12,11 @@ import {
12
12
  FieldModelProps,
13
13
  FieldObjectProps,
14
14
  FieldSpecificProps,
15
+ RawConfigWithPaths,
15
16
  loadConfigFromDir,
16
- Model
17
+ extendConfig
17
18
  } from '@stackbit/sdk';
18
- import { mapPromise, omitByNil } from '@stackbit/utils';
19
+ import { deferWhileRunning, mapPromise, omitByNil } from '@stackbit/utils';
19
20
  import * as CSITypes from './content-source-interface';
20
21
  import { isLocalizedField, getLocalizedFieldForLocale } from './content-source-interface';
21
22
  import * as ContentStoreTypes from './content-store-types';
@@ -27,8 +28,6 @@ export interface ContentSourceOptions {
27
28
  logger: ContentStoreTypes.Logger;
28
29
  userLogger: ContentStoreTypes.Logger;
29
30
  localDev: boolean;
30
- stackbitYamlDir: string;
31
- contentSources: CSITypes.ContentSourceInterface[];
32
31
  userCommandSpawner?: UserCommandSpawner;
33
32
  onSchemaChangeCallback: () => void;
34
33
  onContentChangeCallback: (contentChanges: ContentStoreTypes.ContentChangeResult) => void;
@@ -67,18 +66,17 @@ interface ContentSourceData {
67
66
  }
68
67
 
69
68
  export class ContentStore {
70
- private readonly contentSources: CSITypes.ContentSourceInterface[];
71
69
  private readonly logger: ContentStoreTypes.Logger;
72
70
  private readonly userLogger: ContentStoreTypes.Logger;
73
71
  private readonly userCommandSpawner?: UserCommandSpawner;
74
72
  private readonly localDev: boolean;
75
- private readonly stackbitYamlDir: string; // TODO: remove stackbitYamlDir, ContentStore should not be aware of filesystem, instead pass autoreloading Config object
76
73
  private readonly onSchemaChangeCallback: () => void;
77
74
  private readonly onContentChangeCallback: (contentChanges: ContentStoreTypes.ContentChangeResult) => void;
78
75
  private readonly handleConfigAssets: (config: Config) => Promise<Config>;
76
+ private contentSources: CSITypes.ContentSourceInterface[] = [];
79
77
  private contentSourceDataById: Record<string, ContentSourceData> = {};
80
78
  private contentUpdatesWatchTimer: Timer;
81
- private rawStackbitConfig: any;
79
+ private rawStackbitConfig: RawConfigWithPaths | null = null;
82
80
  private presets?: Record<string, any>;
83
81
 
84
82
  constructor(options: ContentSourceOptions) {
@@ -86,45 +84,84 @@ export class ContentStore {
86
84
  this.userLogger = options.userLogger.createLogger({ label: 'content-store' });
87
85
  this.localDev = options.localDev;
88
86
  this.userCommandSpawner = options.userCommandSpawner;
89
- this.stackbitYamlDir = options.stackbitYamlDir; // TODO: remove stackbitYamlDir, ContentStore should not be aware of filesystem, instead pass autoreloading Config object
90
- this.contentSources = options.contentSources;
91
87
  this.onSchemaChangeCallback = options.onSchemaChangeCallback;
92
88
  this.onContentChangeCallback = options.onContentChangeCallback;
93
89
  this.handleConfigAssets = options.handleConfigAssets;
94
90
  this.contentUpdatesWatchTimer = new Timer({ timerCallback: () => this.handleTimerTimeout(), logger: this.logger });
91
+
92
+ // The `loadContentSourceData` method can be called for different
93
+ // reasons: user restarted SSG from Stackbit, Stackbit Config updated,
94
+ // the Content-Source's schema updated, etc.
95
+ // Therefore, the `loadContentSourceData` method can be called multiple
96
+ // times rapidly before the previous call had a chance to resolve. To
97
+ // prevent parallel content loading and race conditions, defer the next
98
+ // call until the previous call resolves.
99
+ // TODO: wrap the deferred method with 500ms debounce to optimize for
100
+ // multiple file changes after pull, for example, when both Sanity
101
+ // schema files and stackbit config file were updated.
102
+ this.loadContentSourceData = deferWhileRunning(this.loadContentSourceData, {
103
+ thisArg: this,
104
+ // Group the deferred calls by content source ID.
105
+ groupResolver: ({ contentSourceInstance }) => {
106
+ return getContentSourceIdForContentSource(contentSourceInstance);
107
+ },
108
+ // When the loadContentSourceData call is called multiple times with
109
+ // different "init" values, ensure that the deferred call will be
110
+ // called with "init: true" if one of the calls had "init: true".
111
+ // In other words, make the "init: true" sticky.
112
+ argsResolver: ({ nextArgs, prevArgs }) => {
113
+ return [
114
+ {
115
+ contentSourceInstance: nextArgs[0].contentSourceInstance,
116
+ init: nextArgs[0].init || Boolean(prevArgs?.[0].init)
117
+ }
118
+ ] as typeof nextArgs;
119
+ }
120
+ });
95
121
  }
96
122
 
97
- async init(): Promise<void> {
123
+ async init({ stackbitConfig }: { stackbitConfig: Config | null }): Promise<void> {
98
124
  this.logger.debug('init');
99
- this.rawStackbitConfig = await this.loadStackbitConfig();
100
-
101
- this.logger.debug('init => load content source data');
102
- for (const contentSourceInstance of this.contentSources) {
103
- await this.loadContentSourceData({ contentSourceInstance, init: true });
104
- }
105
-
106
- this.contentUpdatesWatchTimer.startTimer();
125
+ await this.setStackbitConfig({ stackbitConfig, init: true });
107
126
  }
108
127
 
109
- async reset() {
110
- this.logger.debug('reset');
128
+ async onStackbitConfigChange({ stackbitConfig }: { stackbitConfig: Config | null }) {
129
+ this.logger.debug('onStackbitConfigChange');
130
+ await this.setStackbitConfig({ stackbitConfig, init: true });
131
+ }
111
132
 
112
- this.contentUpdatesWatchTimer.stopTimer();
113
- this.rawStackbitConfig = await this.loadStackbitConfig();
133
+ private async setStackbitConfig({ stackbitConfig, init }: { stackbitConfig: Config | null; init: boolean }) {
134
+ // TODO: Use stackbitConfig instead of loading rawStackbitConfig here
135
+ // by splitting config loader into independent phases:
136
+ // 1. load and validate only the root config props
137
+ // 2. load content-source models
138
+ // 3. merge content-source models with config.models or via config.mapModels, sanitize and validate
139
+ // 4. load presets, adjust presets to have srcType and srcProjectId
140
+ if (!stackbitConfig) {
141
+ this.rawStackbitConfig = null;
142
+ } else {
143
+ const rawConfigResult = await loadConfigFromDir({ dirPath: stackbitConfig.dirPath });
144
+ for (const error of rawConfigResult.errors) {
145
+ this.userLogger.warn(error.message);
146
+ }
147
+ if (rawConfigResult.config) {
148
+ this.rawStackbitConfig = {
149
+ ...rawConfigResult.config,
150
+ contentSources: stackbitConfig.contentSources
151
+ };
152
+ } else {
153
+ this.rawStackbitConfig = null;
154
+ }
114
155
 
115
- this.logger.debug('reset => load content source data');
116
- for (const contentSourceInstance of this.contentSources) {
117
- await this.loadContentSourceData({ contentSourceInstance, init: false });
118
156
  }
119
-
120
- this.contentUpdatesWatchTimer.startTimer();
157
+ await this.loadContentSources({ init });
121
158
  }
122
159
 
123
160
  /**
124
161
  * This method is called when contentUpdatesWatchTimer receives timeout.
125
162
  * It then notifies all content sources to stop watching for content changes.
126
163
  */
127
- handleTimerTimeout() {
164
+ private handleTimerTimeout() {
128
165
  for (const contentSourceInstance of this.contentSources) {
129
166
  contentSourceInstance.stopWatchingContentUpdates();
130
167
  }
@@ -136,13 +173,13 @@ export class ContentStore {
136
173
  * all content sources are notified to stop watching for content updates.
137
174
  */
138
175
  async keepAlive() {
139
- if (!this.contentUpdatesWatchTimer.isRunning()) {
140
- this.logger.debug('keepAlive => contentUpdatesWatchTimer is not running => load content source data');
141
- for (const contentSourceInstance of this.contentSources) {
142
- await this.loadContentSourceData({ contentSourceInstance, init: false });
143
- }
176
+ if (this.contentUpdatesWatchTimer.isRunning()) {
177
+ this.contentUpdatesWatchTimer.resetTimer();
178
+ return;
144
179
  }
145
- this.contentUpdatesWatchTimer.resetTimer();
180
+
181
+ this.logger.debug('keepAlive => contentUpdatesWatchTimer is not running => load content source data');
182
+ await this.loadContentSources({ init: false });
146
183
  }
147
184
 
148
185
  /**
@@ -157,24 +194,16 @@ export class ContentStore {
157
194
  async onContentSourceSchemaChange({ contentSourceId }: { contentSourceId: string }) {
158
195
  this.logger.debug('onContentSourceSchemaChange', { contentSourceId });
159
196
  const contentSourceData = this.getContentSourceDataByIdOrThrow(contentSourceId);
160
- await this.loadContentSourceData({
197
+ this.contentSourceDataById[contentSourceId] = await this.loadContentSourceData({
161
198
  contentSourceInstance: contentSourceData.instance,
162
199
  init: false
163
200
  });
164
201
  this.onSchemaChangeCallback();
165
202
  }
166
203
 
167
- async onFilesChange(
168
- updatedFiles: string[]
169
- ): Promise<{ stackbitConfigUpdated?: boolean; schemaChanged?: boolean; contentChanges: ContentStoreTypes.ContentChangeResult }> {
204
+ async onFilesChange(updatedFiles: string[]): Promise<{ schemaChanged?: boolean; contentChanges: ContentStoreTypes.ContentChangeResult }> {
170
205
  this.logger.debug('onFilesChange');
171
206
 
172
- const stackbitConfigUpdated = _.some(updatedFiles, (filePath) => isStackbitConfigFile(filePath));
173
- this.logger.debug(`stackbitConfigUpdated: ${stackbitConfigUpdated}`);
174
- if (stackbitConfigUpdated) {
175
- this.rawStackbitConfig = await this.loadStackbitConfig();
176
- }
177
-
178
207
  let someContentSourceSchemaUpdated = false;
179
208
  const contentChanges: ContentStoreTypes.ContentChangeResult = {
180
209
  updatedDocuments: [],
@@ -190,11 +219,9 @@ export class ContentStore {
190
219
  this.logger.debug(`schemaChanged: ${schemaChanged}, has contentChangeEvent: ${!!contentChangeEvent}`);
191
220
  // if schema is changed, there is no need to return contentChanges
192
221
  // because schema changes reloads everything and implies content changes
193
- if (stackbitConfigUpdated || schemaChanged) {
194
- if (schemaChanged) {
195
- someContentSourceSchemaUpdated = true;
196
- }
197
- await this.loadContentSourceData({ contentSourceInstance, init: false });
222
+ if (schemaChanged) {
223
+ someContentSourceSchemaUpdated = true;
224
+ this.contentSourceDataById[contentSourceId] = await this.loadContentSourceData({ contentSourceInstance, init: false });
198
225
  } else if (contentChangeEvent) {
199
226
  const contentChangeResult = this.onContentChange(contentSourceId, contentChangeEvent);
200
227
  contentChanges.updatedDocuments = contentChanges.updatedDocuments.concat(contentChangeResult.updatedDocuments);
@@ -205,33 +232,40 @@ export class ContentStore {
205
232
  }
206
233
 
207
234
  return {
208
- stackbitConfigUpdated,
209
- schemaChanged: someContentSourceSchemaUpdated || stackbitConfigUpdated,
235
+ schemaChanged: someContentSourceSchemaUpdated,
210
236
  contentChanges: contentChanges
211
237
  };
212
238
  }
213
239
 
214
- async loadStackbitConfig() {
215
- this.logger.debug('loadStackbitConfig');
216
- // TODO: use esbuild to watch for stackbit.config.js changes and notify
217
- // the content-store via onStackbitConfigChange with updated rawConfig
218
- const { config, errors } = await loadConfigFromDir({ dirPath: this.stackbitYamlDir });
219
- for (const error of errors) {
220
- this.userLogger.warn(error.message);
221
- }
222
- if (!config) {
223
- this.userLogger.error(`could not load stackbit config`);
224
- }
225
- return config;
226
- }
240
+ private async loadContentSources({ init }: { init: boolean }) {
241
+ this.logger.debug('loadContentSources', { init });
242
+
243
+ this.contentUpdatesWatchTimer.stopTimer();
244
+
245
+ // TODO: move CSITypes to separate package so Config will be able to use them
246
+ const contentSources: CSITypes.ContentSourceInterface[] = (this.rawStackbitConfig?.contentSources ?? []) as CSITypes.ContentSourceInterface[];
247
+
248
+ const promises = contentSources.map((contentSourceInstance) => {
249
+ return this.loadContentSourceData({ contentSourceInstance, init });
250
+ })
251
+
252
+ const contentSourceDataArr = await Promise.all(promises);
253
+ const contentSourceDataById: Record<string, ContentSourceData> = _.keyBy(contentSourceDataArr, 'id');
227
254
 
228
- async loadContentSourceData({ contentSourceInstance, init }: { contentSourceInstance: CSITypes.ContentSourceInterface; init: boolean }) {
229
- // TODO: defer loading content if content is already loading for a specific content source
255
+ // update all content sources at once to prevent race conditions
256
+ this.contentSources = contentSources;
257
+ this.contentSourceDataById = contentSourceDataById;
230
258
 
231
- // TODO: optimize: cache raw responses from contentSource
232
- // e.g.: getModels(), getDocuments(), getAssets()
233
- // ana use the cached response to remap documents when only stackbitConfig changes
259
+ this.contentUpdatesWatchTimer.startTimer();
260
+ }
234
261
 
262
+ private async loadContentSourceData({
263
+ contentSourceInstance,
264
+ init
265
+ }: {
266
+ contentSourceInstance: CSITypes.ContentSourceInterface;
267
+ init: boolean;
268
+ }): Promise<ContentSourceData> {
235
269
  const contentSourceId = getContentSourceIdForContentSource(contentSourceInstance);
236
270
  this.logger.debug('loadContentSourceData', { contentSourceId, init });
237
271
 
@@ -247,26 +281,46 @@ export class ContentStore {
247
281
  await contentSourceInstance.reset();
248
282
  }
249
283
 
284
+ // TODO: introduce optimization: don't fetch content source models,
285
+ // documents, assets if only stackbitConfig was changed
286
+
250
287
  const csiModels = await contentSourceInstance.getModels();
251
288
  const locales = await contentSourceInstance?.getLocales();
252
- const result = await extendConfig({ dirPath: this.stackbitYamlDir, config: this.rawStackbitConfig, externalModels: csiModels });
253
- const config = await this.handleConfigAssets(result.config);
254
- const models = config.models;
255
- const modelMap = _.keyBy(models, 'name');
256
289
  const defaultLocaleCode = locales?.find((locale) => locale.default)?.code;
257
290
 
258
- for (const error of result.errors) {
259
- this.userLogger.warn(error.message);
291
+ // for older versions of stackbit, it uses models to extend content source models
292
+ let models: Model[] = [];
293
+ if (this.rawStackbitConfig) {
294
+ const result = await extendConfig({
295
+ config: this.rawStackbitConfig,
296
+ externalModels: csiModels
297
+ });
298
+ for (const error of result?.errors ?? []) {
299
+ this.userLogger.warn(error.message);
300
+ }
301
+ const config = await this.handleConfigAssets(result.config);
302
+ models = config?.models ?? [];
303
+
304
+ // TODO: load presets externally from config, and create additional map
305
+ // that maps presetIds by model name instead of storing that map inside every model
306
+ // TODO: adjust presets to have srcType and srcProjectId
307
+ this.presets = config?.presets;
260
308
  }
261
309
 
262
- // TODO: load presets externally from config, and create additional map
263
- // that maps presetIds by model name instead of storing that map inside every model
264
- this.presets = config.presets;
310
+ if (this.rawStackbitConfig?.mapModels) {
311
+ models = this.rawStackbitConfig.mapModels({
312
+ models: models,
313
+ contentSourceType: contentSourceInstance.getContentSourceType(),
314
+ contentSourceProjectId: contentSourceInstance.getProjectId()
315
+ });
316
+ }
265
317
 
318
+ const modelMap = _.keyBy(models, 'name');
266
319
  const csiDocuments = await contentSourceInstance.getDocuments({ modelMap });
267
320
  const csiAssets = await contentSourceInstance.getAssets();
268
321
  const csiDocumentMap = _.keyBy(csiDocuments, 'id');
269
322
  const csiAssetMap = _.keyBy(csiAssets, 'id');
323
+ const csiModelMap = _.keyBy(csiModels, 'name');
270
324
 
271
325
  const contentStoreDocuments = mapCSIDocumentsToStoreDocuments({
272
326
  csiDocuments,
@@ -291,30 +345,9 @@ export class ContentStore {
291
345
  assetCount: contentStoreAssets.length
292
346
  });
293
347
 
294
- this.contentSourceDataById[contentSourceId] = {
295
- id: contentSourceId,
296
- type: contentSourceInstance.getContentSourceType(),
297
- projectId: contentSourceInstance.getProjectId(),
298
- instance: contentSourceInstance,
299
- locales: locales,
300
- defaultLocaleCode: defaultLocaleCode,
301
- models: models,
302
- modelMap: modelMap,
303
- csiModelMap: _.keyBy(csiModels, 'name'),
304
- csiDocuments: csiDocuments,
305
- csiDocumentMap: csiDocumentMap,
306
- documents: contentStoreDocuments,
307
- documentMap: documentMap,
308
- csiAssets: csiAssets,
309
- csiAssetMap: csiAssetMap,
310
- assets: contentStoreAssets,
311
- assetMap: assetMap
312
- };
313
-
314
348
  contentSourceInstance.startWatchingContentUpdates({
315
349
  getModelMap: () => {
316
- const contentSourceData = this.getContentSourceDataByIdOrThrow(contentSourceId);
317
- return contentSourceData.csiModelMap;
350
+ return csiModelMap;
318
351
  },
319
352
  getDocument({ documentId }: { documentId: string }) {
320
353
  return csiDocumentMap[documentId];
@@ -329,16 +362,36 @@ export class ContentStore {
329
362
  },
330
363
  onSchemaChange: async () => {
331
364
  this.logger.debug('content source called onSchemaChange', { contentSourceId });
332
- await this.loadContentSourceData({
365
+ this.contentSourceDataById[contentSourceId] = await this.loadContentSourceData({
333
366
  contentSourceInstance: contentSourceInstance,
334
367
  init: false
335
368
  });
336
369
  this.onSchemaChangeCallback();
337
370
  }
338
371
  });
372
+
373
+ return {
374
+ id: contentSourceId,
375
+ type: contentSourceInstance.getContentSourceType(),
376
+ projectId: contentSourceInstance.getProjectId(),
377
+ instance: contentSourceInstance,
378
+ locales: locales,
379
+ defaultLocaleCode: defaultLocaleCode,
380
+ models: models,
381
+ modelMap: modelMap,
382
+ csiModelMap: csiModelMap,
383
+ csiDocuments: csiDocuments,
384
+ csiDocumentMap: csiDocumentMap,
385
+ documents: contentStoreDocuments,
386
+ documentMap: documentMap,
387
+ csiAssets: csiAssets,
388
+ csiAssetMap: csiAssetMap,
389
+ assets: contentStoreAssets,
390
+ assetMap: assetMap
391
+ };
339
392
  }
340
393
 
341
- onContentChange(contentSourceId: string, contentChangeEvent: CSITypes.ContentChangeEvent): ContentStoreTypes.ContentChangeResult {
394
+ private onContentChange(contentSourceId: string, contentChangeEvent: CSITypes.ContentChangeEvent): ContentStoreTypes.ContentChangeResult {
342
395
  // TODO: prevent content change process for contentSourceId if loading content is in progress
343
396
 
344
397
  this.logger.debug('onContentChange', {
@@ -2245,13 +2298,6 @@ function getDocumentFieldForLocale<Type extends ContentStoreTypes.FieldType>(
2245
2298
  }
2246
2299
  }
2247
2300
 
2248
- function isStackbitConfigFile(filePath: string) {
2249
- const pathObject = path.parse(filePath);
2250
- const isInDotStackbitFolder = pathObject.dir.startsWith('.stackbit');
2251
- const isMainStackbitConfigFile = pathObject.name === 'stackbit' && ['yaml', 'yml'].includes(pathObject.ext.substring(1));
2252
- return isMainStackbitConfigFile || isInDotStackbitFolder;
2253
- }
2254
-
2255
2301
  function getCSIDocumentsAndAssetsFromContentSourceDataByIds(
2256
2302
  contentSourceData: ContentSourceData,
2257
2303
  objects: { srcObjectId: string }[]
@@ -2279,14 +2325,13 @@ function internalValidateContent(
2279
2325
  assets: CSITypes.Asset[],
2280
2326
  contentSourceData: ContentSourceData
2281
2327
  ): ContentStoreTypes.ValidationError[] {
2282
-
2283
2328
  const errors: ContentStoreTypes.ValidationError[] = [];
2284
2329
  _.forEach(documents, (document) => {
2285
2330
  _.forEach(document.fields, (documentField, fieldName) => {
2286
2331
  const localizedField = getLocalizedFieldForLocale(documentField)!;
2287
2332
  errors.push(...validateDocumentFields(document, localizedField, [fieldName], contentSourceData));
2288
- })
2289
- })
2333
+ });
2334
+ });
2290
2335
  return errors;
2291
2336
  }
2292
2337
 
@@ -2309,9 +2354,7 @@ function validateDocumentFields(
2309
2354
  errors.push(...validateDocumentFields(document, localizedField, fieldPath.concat(fieldName), contentSourceData));
2310
2355
  });
2311
2356
  } else if (documentField.type === 'reference') {
2312
- const objRef = documentField.refType === 'asset'
2313
- ? contentSourceData.assetMap[documentField.refId]
2314
- : contentSourceData.documentMap[documentField.refId];
2357
+ const objRef = documentField.refType === 'asset' ? contentSourceData.assetMap[documentField.refId] : contentSourceData.documentMap[documentField.refId];
2315
2358
  if (!objRef) {
2316
2359
  errors.push({
2317
2360
  fieldPath,
@@ -29,7 +29,9 @@ export function fetchAndConvertSchema(options: { dirPath: string }): Promise<{ s
29
29
  'presetSource',
30
30
  'modelsSource',
31
31
  'models',
32
- 'presets'
32
+ 'presets',
33
+ 'dirPath',
34
+ 'filePath'
33
35
  ]);
34
36
  return { schema, errors };
35
37
  });