@stackbit/dev 0.0.8 → 0.0.12
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/assets/loading-page.html +5 -1
- package/dist/runner/index.d.ts +1 -1
- package/dist/runner/index.js +11 -10
- package/dist/runner/index.js.map +1 -1
- package/dist/server/index.js +6 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/proxy.d.ts +2 -1
- package/dist/server/proxy.js +1 -3
- package/dist/server/proxy.js.map +1 -1
- package/dist/services/file-watcher.js +12 -6
- package/dist/services/file-watcher.js.map +1 -1
- package/package.json +4 -4
- package/src/assets/loading-page.html +5 -1
- package/src/runner/index.ts +12 -11
- package/src/server/index.ts +9 -5
- package/src/server/proxy.ts +2 -4
- package/src/services/file-watcher.ts +14 -7
|
@@ -43,7 +43,11 @@
|
|
|
43
43
|
<script type="application/javascript">
|
|
44
44
|
function poll() {
|
|
45
45
|
fetch('/', { method: 'HEAD' }).then((response) => {
|
|
46
|
-
|
|
46
|
+
if (response.status === 504) {
|
|
47
|
+
window.setTimeout(poll, 1000);
|
|
48
|
+
} else {
|
|
49
|
+
window.location = "__PATH__";
|
|
50
|
+
}
|
|
47
51
|
}).catch(err => {
|
|
48
52
|
window.setTimeout(poll, 1000);
|
|
49
53
|
})
|
package/dist/runner/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export default class Runner {
|
|
|
11
11
|
runnableDir?: string;
|
|
12
12
|
});
|
|
13
13
|
install(): Promise<void>;
|
|
14
|
-
handleFileChanges(filePaths: string[]): void
|
|
14
|
+
handleFileChanges(filePaths: string[]): Promise<void>;
|
|
15
15
|
getDirectPaths(): string[];
|
|
16
16
|
/**
|
|
17
17
|
* Function retuning a map or a function that rewrites direct proxy requests.
|
package/dist/runner/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const editor_1 = __importDefault(require("@stackbit/dev-common/dist/runner/edito
|
|
|
10
10
|
const git_1 = __importDefault(require("@stackbit/dev-common/dist/cms/git"));
|
|
11
11
|
const worker_1 = __importDefault(require("@stackbit/dev-common/dist/utils/worker"));
|
|
12
12
|
const stackbit_yaml_1 = require("@stackbit/dev-common/dist/services/stackbit-yaml");
|
|
13
|
+
const socket_service_1 = __importDefault(require("@stackbit/dev-common/dist/services/socket-service"));
|
|
13
14
|
const file_watcher_1 = require("../services/file-watcher");
|
|
14
15
|
const logger_1 = __importDefault(require("../services/logger"));
|
|
15
16
|
const consts_1 = __importDefault(require("../consts"));
|
|
@@ -54,22 +55,22 @@ class Runner {
|
|
|
54
55
|
});
|
|
55
56
|
this.watcher = (0, file_watcher_1.watchDir)(this.rootDir, (filePaths) => {
|
|
56
57
|
logger_1.default.debug(`File change detected: ${filePaths}`);
|
|
57
|
-
this.handleFileChanges(filePaths)
|
|
58
|
+
this.handleFileChanges(filePaths).catch((err) => {
|
|
59
|
+
logger_1.default.error('Error handling file changes: ' + filePaths.join(', '));
|
|
60
|
+
});
|
|
58
61
|
});
|
|
59
62
|
}
|
|
60
|
-
handleFileChanges(filePaths) {
|
|
61
|
-
this.cms.postPull(filePaths.map((filePath) => path_1.default.join(this.rootDir, filePath))).catch((err) => {
|
|
63
|
+
async handleFileChanges(filePaths) {
|
|
64
|
+
const pullResult = await this.cms.postPull(filePaths.map((filePath) => path_1.default.join(this.rootDir, filePath))).catch((err) => {
|
|
62
65
|
logger_1.default.debug('Error in postPull', { err });
|
|
66
|
+
throw err;
|
|
63
67
|
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
this.stackbitYaml.load().catch((err) => {
|
|
68
|
+
if (pullResult === null || pullResult === void 0 ? void 0 : pullResult.schemaChanged) {
|
|
69
|
+
await this.stackbitYaml.load().catch((err) => {
|
|
69
70
|
logger_1.default.debug('Error handling stackbit.yaml change', { err });
|
|
70
71
|
logger_1.default.error('Error reloading stackbit.yaml');
|
|
71
72
|
});
|
|
72
|
-
|
|
73
|
+
socket_service_1.default.notifySchemaChange();
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
getDirectPaths() {
|
|
@@ -94,7 +95,7 @@ class Runner {
|
|
|
94
95
|
}
|
|
95
96
|
async getObjectsWithAnnotations(annotationTree = null, clientAnnotationErrors = []) {
|
|
96
97
|
var _a;
|
|
97
|
-
const result = this.editor.getObjectsWithAnnotations(annotationTree);
|
|
98
|
+
const result = await this.editor.getObjectsWithAnnotations(annotationTree);
|
|
98
99
|
lodash_1.default.forEach([...((_a = result.errors) !== null && _a !== void 0 ? _a : []), ...clientAnnotationErrors], (error) => {
|
|
99
100
|
const errorProps = lodash_1.default.omit(error, ['type', 'message']);
|
|
100
101
|
logger_1.default.error(`${error.message} ${lodash_1.default.map(errorProps, (val, key) => `${key}:'${val && val.toString ? val.toString() : val}'`).join(', ')}`);
|
package/dist/runner/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AACvB,gDAAwB;AACxB,gDAAwB;AACxB,qFAA6D;AAC7D,4EAAuD;AACvD,oFAA4D;AAC5D,oFAAgF;AAChF,2DAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.js
CHANGED
|
@@ -14,14 +14,16 @@ const runner_1 = __importDefault(require("../runner"));
|
|
|
14
14
|
const consts_1 = __importDefault(require("../consts"));
|
|
15
15
|
const socket_service_1 = __importDefault(require("@stackbit/dev-common/dist/services/socket-service"));
|
|
16
16
|
async function start({ serverPort, ssgPort, ssgHost, rootDir, runnableDir, uuid }) {
|
|
17
|
-
|
|
18
|
-
const httpServer = http_1.default.createServer(server);
|
|
19
|
-
socket_service_1.default.use(httpServer, logger_1.default);
|
|
17
|
+
logger_1.default.debug('Runner init...');
|
|
20
18
|
const runner = new runner_1.default({
|
|
21
19
|
rootDir,
|
|
22
20
|
runnableDir
|
|
23
21
|
});
|
|
24
22
|
await runner.install();
|
|
23
|
+
logger_1.default.debug('Done runner init');
|
|
24
|
+
const server = (0, express_1.default)();
|
|
25
|
+
const httpServer = http_1.default.createServer(server);
|
|
26
|
+
socket_service_1.default.use(httpServer, logger_1.default);
|
|
25
27
|
server.use(require('cors')());
|
|
26
28
|
// if (config.setContentSecurityPolicy) {
|
|
27
29
|
// server.use((req, res, next) => {
|
|
@@ -39,7 +41,7 @@ async function start({ serverPort, ssgPort, ssgHost, rootDir, runnableDir, uuid
|
|
|
39
41
|
server.use(consts_1.default.STATIC_ASSETS_PUBLIC_PATH, express_1.default.static(path_1.default.join(rootDir, consts_1.default.STATIC_ASSETS_FILE_PATH)));
|
|
40
42
|
server.use(consts_1.default.STATIC_THEME_ASSETS_PUBLIC_PATH, express_1.default.static(path_1.default.join(rootDir, consts_1.default.STATIC_THEME_ASSETS_FILE_PATH)));
|
|
41
43
|
(0, routes_1.default)(server, runner, uuid);
|
|
42
|
-
|
|
44
|
+
(0, proxy_1.default)(server, ssgHost, ssgPort, runner);
|
|
43
45
|
return new Promise((resolve, reject) => {
|
|
44
46
|
httpServer.listen(serverPort, () => {
|
|
45
47
|
logger_1.default.debug('Server running on port ' + serverPort);
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,sDAA8B;AAC9B,gDAAwB;AAExB,gEAAwC;AAExC,sDAA8B;AAC9B,oDAA4B;AAC5B,uDAA+B;AAC/B,uDAA+B;AAC/B,uGAA8E;AAEvE,KAAK,UAAU,KAAK,CAAC,EACxB,UAAU,EACV,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,IAAI,EAQP;IACG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,sDAA8B;AAC9B,gDAAwB;AAExB,gEAAwC;AAExC,sDAA8B;AAC9B,oDAA4B;AAC5B,uDAA+B;AAC/B,uDAA+B;AAC/B,uGAA8E;AAEvE,KAAK,UAAU,KAAK,CAAC,EACxB,UAAU,EACV,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,IAAI,EAQP;IACG,gBAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;QACtB,OAAO;QACP,WAAW;KACd,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IAEvB,gBAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,IAAA,iBAAO,GAAE,CAAC;IACzB,MAAM,UAAU,GAAG,cAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,wBAAa,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAM,CAAC,CAAC;IAEtC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,yCAAyC;IACzC,uCAAuC;IACvC,8DAA8D;IAC9D,iFAAiF;IACjF,kBAAkB;IAClB,UAAU;IACV,IAAI;IAEJ,eAAe;IACf,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC1B,gBAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1I,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,gBAAM,CAAC,yBAAyB,EAAE,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACjH,MAAM,CAAC,GAAG,CAAC,gBAAM,CAAC,+BAA+B,EAAE,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;IAE7H,IAAA,gBAAM,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAA,eAAK,EAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;YAC/B,gBAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAzDD,sBAyDC"}
|
package/dist/server/proxy.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import express, { Router } from 'express';
|
|
1
2
|
import Runner from '../runner';
|
|
2
|
-
export default function proxyMiddleware(ssgHost: string, ssgPort: number, runner: Runner):
|
|
3
|
+
export default function proxyMiddleware(router: Router, ssgHost: string, ssgPort: number, runner: Runner): express.Router;
|
package/dist/server/proxy.js
CHANGED
|
@@ -5,16 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const express_1 = __importDefault(require("express"));
|
|
9
8
|
const http_proxy_middleware_1 = __importDefault(require("http-proxy-middleware"));
|
|
10
9
|
const logger_1 = __importDefault(require("../services/logger"));
|
|
11
10
|
const consts_1 = __importDefault(require("../consts"));
|
|
12
11
|
const proxy_utils_1 = require("@stackbit/dev-common/dist/utils/proxy-utils");
|
|
13
12
|
const pages_1 = require("@stackbit/dev-common/dist/utils/pages");
|
|
14
13
|
const config_1 = __importDefault(require("../config"));
|
|
15
|
-
function proxyMiddleware(ssgHost, ssgPort, runner) {
|
|
14
|
+
function proxyMiddleware(router, ssgHost, ssgPort, runner) {
|
|
16
15
|
var _a;
|
|
17
|
-
const router = express_1.default.Router();
|
|
18
16
|
router.use((req, res, next) => {
|
|
19
17
|
lodash_1.default.unset(req, 'headers.x-forwarded-proto');
|
|
20
18
|
const rawHeaders = lodash_1.default.get(req, 'rawHeaders');
|
package/dist/server/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/server/proxy.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AACvB,gDAAwB;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/server/proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.watchDir = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
8
9
|
const chokidar_1 = __importDefault(require("chokidar"));
|
|
10
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
9
11
|
function watchDir(dir, onFileChange, throttleDelay = 1000) {
|
|
12
|
+
const fullDir = path_1.default.resolve(process.cwd(), dir);
|
|
13
|
+
logger_1.default.debug('Watch dir for changes: ' + fullDir);
|
|
10
14
|
const watcher = chokidar_1.default.watch('.', {
|
|
11
|
-
cwd:
|
|
12
|
-
ignored: (filePath) =>
|
|
13
|
-
filePath.includes(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
cwd: fullDir,
|
|
16
|
+
ignored: (filePath) => {
|
|
17
|
+
return (filePath.includes(`/.git/`) ||
|
|
18
|
+
filePath.includes(`/.next/`) ||
|
|
19
|
+
filePath.includes(`/.cache/`) ||
|
|
20
|
+
filePath.includes(`/node_modules`) ||
|
|
21
|
+
((filePath.includes(`/.`) || filePath.startsWith(`.`)) && !(filePath.includes(`/.stackbit`) || filePath.startsWith(`.stackbit`))));
|
|
22
|
+
},
|
|
17
23
|
persistent: true,
|
|
18
24
|
ignoreInitial: true
|
|
19
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../../src/services/file-watcher.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,wDAAgC;
|
|
1
|
+
{"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../../src/services/file-watcher.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,gDAAwB;AACxB,wDAAgC;AAChC,sDAA8B;AAE9B,SAAgB,QAAQ,CAAC,GAAW,EAAE,YAA2C,EAAE,aAAa,GAAG,IAAI;IACnG,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,gBAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,kBAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;QAChC,GAAG,EAAE,OAAO;QACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;YAClB,OAAO,CACH,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC3B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC5B,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC7B,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAClC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CACpI,CAAC;QACN,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,MAAM,mBAAmB,GAAG,gBAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;QACxC,IAAI,YAAY,CAAC,MAAM,EAAE;YACrB,YAAY,CAAC,YAAY,CAAC,CAAC;YAC3B,YAAY,GAAG,EAAE,CAAC;SACrB;IACL,CAAC,EAAE,aAAa,CAAC,CAAC;IAClB,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC1C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAClC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/B;QACD,mBAAmB,EAAE,CAAC;IAC1B,CAAC,CAAC;IACF,OAAO;SACF,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;SAC3B,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAC9B,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAC9B,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAC9B,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAEvC,OAAO,OAAO,CAAC;AACnB,CAAC;AAtCD,4BAsCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackbit/dev",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"description": "stackbit-dev",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"author": "Stackbit Inc.",
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@stackbit/cms-core": "^0.0.
|
|
26
|
-
"@stackbit/dev-common": "^0.0.
|
|
25
|
+
"@stackbit/cms-core": "^0.0.8",
|
|
26
|
+
"@stackbit/dev-common": "^0.0.11",
|
|
27
27
|
"@stackbit/sdk": "^0.2.22",
|
|
28
28
|
"axios": "^0.25.0",
|
|
29
29
|
"chalk": "^4.1.0",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"ts-jest": "^27.1.3",
|
|
55
55
|
"typescript": "^4.5.4"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "47504df5f346ec3a4eadd2fc7c7c0f8eaa20e157"
|
|
58
58
|
}
|
|
@@ -43,7 +43,11 @@
|
|
|
43
43
|
<script type="application/javascript">
|
|
44
44
|
function poll() {
|
|
45
45
|
fetch('/', { method: 'HEAD' }).then((response) => {
|
|
46
|
-
|
|
46
|
+
if (response.status === 504) {
|
|
47
|
+
window.setTimeout(poll, 1000);
|
|
48
|
+
} else {
|
|
49
|
+
window.location = "__PATH__";
|
|
50
|
+
}
|
|
47
51
|
}).catch(err => {
|
|
48
52
|
window.setTimeout(poll, 1000);
|
|
49
53
|
})
|
package/src/runner/index.ts
CHANGED
|
@@ -5,8 +5,9 @@ import Editor from '@stackbit/dev-common/dist/runner/editor';
|
|
|
5
5
|
import GitCMS from '@stackbit/dev-common/dist/cms/git';
|
|
6
6
|
import Worker from '@stackbit/dev-common/dist/utils/worker';
|
|
7
7
|
import { StackbitYaml } from '@stackbit/dev-common/dist/services/stackbit-yaml';
|
|
8
|
-
import
|
|
8
|
+
import socketService from '@stackbit/dev-common/dist/services/socket-service';
|
|
9
9
|
|
|
10
|
+
import { watchDir } from '../services/file-watcher';
|
|
10
11
|
import logger from '../services/logger';
|
|
11
12
|
import consts from '../consts';
|
|
12
13
|
|
|
@@ -61,23 +62,23 @@ export default class Runner {
|
|
|
61
62
|
});
|
|
62
63
|
this.watcher = watchDir(this.rootDir, (filePaths) => {
|
|
63
64
|
logger.debug(`File change detected: ${filePaths}`);
|
|
64
|
-
this.handleFileChanges(filePaths)
|
|
65
|
+
this.handleFileChanges(filePaths).catch((err) => {
|
|
66
|
+
logger.error('Error handling file changes: ' + filePaths.join(', '));
|
|
67
|
+
});
|
|
65
68
|
});
|
|
66
69
|
}
|
|
67
70
|
|
|
68
|
-
handleFileChanges(filePaths: string[]) {
|
|
69
|
-
this.cms.postPull(filePaths.map((filePath) => path.join(this.rootDir, filePath))).catch((err: any) => {
|
|
71
|
+
async handleFileChanges(filePaths: string[]) {
|
|
72
|
+
const pullResult = await this.cms.postPull(filePaths.map((filePath) => path.join(this.rootDir, filePath))).catch((err: any) => {
|
|
70
73
|
logger.debug('Error in postPull', { err });
|
|
74
|
+
throw err;
|
|
71
75
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
this.stackbitYaml.load().catch((err: any) => {
|
|
76
|
+
if (pullResult?.schemaChanged) {
|
|
77
|
+
await this.stackbitYaml.load().catch((err: any) => {
|
|
77
78
|
logger.debug('Error handling stackbit.yaml change', { err });
|
|
78
79
|
logger.error('Error reloading stackbit.yaml');
|
|
79
80
|
});
|
|
80
|
-
|
|
81
|
+
socketService.notifySchemaChange();
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
|
|
@@ -107,7 +108,7 @@ export default class Runner {
|
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
async getObjectsWithAnnotations(annotationTree = null, clientAnnotationErrors = []) {
|
|
110
|
-
const result = this.editor.getObjectsWithAnnotations(annotationTree);
|
|
111
|
+
const result = await this.editor.getObjectsWithAnnotations(annotationTree);
|
|
111
112
|
_.forEach([...(result.errors ?? []), ...clientAnnotationErrors], (error) => {
|
|
112
113
|
const errorProps = _.omit(error, ['type', 'message']);
|
|
113
114
|
logger.error(`${error.message} ${_.map(errorProps, (val, key) => `${key}:'${val && val.toString ? val.toString() : val}'`).join(', ')}`);
|
package/src/server/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _
|
|
1
|
+
import _ from 'lodash';
|
|
2
2
|
import http from 'http';
|
|
3
3
|
import express from 'express';
|
|
4
4
|
import path from 'path';
|
|
@@ -26,9 +26,7 @@ export async function start({
|
|
|
26
26
|
runnableDir?: string;
|
|
27
27
|
uuid: string;
|
|
28
28
|
}) {
|
|
29
|
-
|
|
30
|
-
const httpServer = http.createServer(server);
|
|
31
|
-
socketService.use(httpServer, logger);
|
|
29
|
+
logger.debug('Runner init...');
|
|
32
30
|
|
|
33
31
|
const runner = new Runner({
|
|
34
32
|
rootDir,
|
|
@@ -36,6 +34,12 @@ export async function start({
|
|
|
36
34
|
});
|
|
37
35
|
await runner.install();
|
|
38
36
|
|
|
37
|
+
logger.debug('Done runner init');
|
|
38
|
+
|
|
39
|
+
const server = express();
|
|
40
|
+
const httpServer = http.createServer(server);
|
|
41
|
+
socketService.use(httpServer, logger);
|
|
42
|
+
|
|
39
43
|
server.use(require('cors')());
|
|
40
44
|
// if (config.setContentSecurityPolicy) {
|
|
41
45
|
// server.use((req, res, next) => {
|
|
@@ -56,7 +60,7 @@ export async function start({
|
|
|
56
60
|
server.use(consts.STATIC_THEME_ASSETS_PUBLIC_PATH, express.static(path.join(rootDir, consts.STATIC_THEME_ASSETS_FILE_PATH)));
|
|
57
61
|
|
|
58
62
|
routes(server, runner, uuid);
|
|
59
|
-
|
|
63
|
+
proxy(server, ssgHost, ssgPort, runner);
|
|
60
64
|
|
|
61
65
|
return new Promise<void>((resolve, reject) => {
|
|
62
66
|
httpServer.listen(serverPort, () => {
|
package/src/server/proxy.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import express, { Request } from 'express';
|
|
3
|
+
import express, { Request, Router } from 'express';
|
|
4
4
|
import proxy from 'http-proxy-middleware';
|
|
5
5
|
import logger from '../services/logger';
|
|
6
6
|
import consts from '../consts';
|
|
@@ -9,9 +9,7 @@ import { renderLoadingPage } from '@stackbit/dev-common/dist/utils/pages';
|
|
|
9
9
|
import config from '../config';
|
|
10
10
|
import Runner from '../runner';
|
|
11
11
|
|
|
12
|
-
export default function proxyMiddleware(ssgHost: string, ssgPort: number, runner: Runner) {
|
|
13
|
-
const router = express.Router();
|
|
14
|
-
|
|
12
|
+
export default function proxyMiddleware(router: Router, ssgHost: string, ssgPort: number, runner: Runner) {
|
|
15
13
|
router.use((req, res, next) => {
|
|
16
14
|
_.unset(req, 'headers.x-forwarded-proto');
|
|
17
15
|
const rawHeaders = _.get(req, 'rawHeaders');
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
+
import path from 'path';
|
|
2
3
|
import chokidar from 'chokidar';
|
|
4
|
+
import logger from './logger';
|
|
3
5
|
|
|
4
6
|
export function watchDir(dir: string, onFileChange: (filePaths: string[]) => void, throttleDelay = 1000) {
|
|
7
|
+
const fullDir = path.resolve(process.cwd(), dir);
|
|
8
|
+
logger.debug('Watch dir for changes: ' + fullDir);
|
|
5
9
|
const watcher = chokidar.watch('.', {
|
|
6
|
-
cwd:
|
|
7
|
-
ignored: (filePath) =>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
cwd: fullDir,
|
|
11
|
+
ignored: (filePath) => {
|
|
12
|
+
return (
|
|
13
|
+
filePath.includes(`/.git/`) ||
|
|
14
|
+
filePath.includes(`/.next/`) ||
|
|
15
|
+
filePath.includes(`/.cache/`) ||
|
|
16
|
+
filePath.includes(`/node_modules`) ||
|
|
17
|
+
((filePath.includes(`/.`) || filePath.startsWith(`.`)) && !(filePath.includes(`/.stackbit`) || filePath.startsWith(`.stackbit`)))
|
|
18
|
+
);
|
|
19
|
+
},
|
|
13
20
|
persistent: true,
|
|
14
21
|
ignoreInitial: true
|
|
15
22
|
});
|