@stackbit/dev 0.1.24 → 0.1.25
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/dev.d.ts.map +1 -1
- package/dist/dev.js +5 -1
- package/dist/dev.js.map +1 -1
- package/dist/services/env.d.ts +3 -0
- package/dist/services/env.d.ts.map +1 -0
- package/dist/services/env.js +30 -0
- package/dist/services/env.js.map +1 -0
- package/package.json +6 -5
- package/src/dev.ts +8 -4
- package/src/services/env.ts +25 -0
package/dist/dev.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAYA,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC9B,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACxD;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAYA,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC9B,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACxD;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,UAAU,8BAoF9C"}
|
package/dist/dev.js
CHANGED
|
@@ -12,9 +12,13 @@ const api_1 = __importDefault(require("./services/api"));
|
|
|
12
12
|
const config_1 = __importDefault(require("./config"));
|
|
13
13
|
const chalk_1 = __importDefault(require("chalk"));
|
|
14
14
|
const open_1 = __importDefault(require("open"));
|
|
15
|
+
const env_1 = require("./services/env");
|
|
15
16
|
async function start(options) {
|
|
16
17
|
var _a, _b;
|
|
17
18
|
logger_1.default.info('Site directory: ' + options.rootDir);
|
|
19
|
+
await (0, env_1.loadEnv)(options.rootDir, logger_1.default).catch((err) => {
|
|
20
|
+
logger_1.default.error('Error loading env', { err });
|
|
21
|
+
});
|
|
18
22
|
let serverPort = await (0, detect_port_1.default)(8090);
|
|
19
23
|
const userId = (0, user_config_1.getUserId)();
|
|
20
24
|
logger_1.default.debug('id: ' + userId);
|
|
@@ -81,7 +85,7 @@ async function start(options) {
|
|
|
81
85
|
logger_1.default.info(`Server started. Forwarding requests to: ${options.ssgHost}:${options.ssgPort}`);
|
|
82
86
|
logger_1.default.info(`⚡ Open${options.autoOpen ? 'ing' : ''} ${chalk_1.default.bold(studioUrl)} in your browser`);
|
|
83
87
|
if (options.autoOpen) {
|
|
84
|
-
(0, open_1.default)(studioUrl).catch(err => {
|
|
88
|
+
(0, open_1.default)(studioUrl).catch((err) => {
|
|
85
89
|
logger_1.default.debug('Auto open error', { err });
|
|
86
90
|
logger_1.default.error('Error auto opening');
|
|
87
91
|
});
|
package/dist/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":";;;;;;AACA,8DAAqC;AAErC,qCAAgD;AAChD,wDAAmD;AACnD,+DAAuC;AACvC,yDAAwC;AACxC,sDAA8B;AAC9B,kDAA0B;AAC1B,gDAAwB;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/services/env.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAKzC,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,iBAgBzD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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.loadEnv = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
10
|
+
// dot env file loading - based on Next.js env loading
|
|
11
|
+
// https://github.com/vercel/next.js/blob/canary/packages/next-env/index.ts
|
|
12
|
+
async function loadEnv(dir, logger) {
|
|
13
|
+
const mode = process.env.NODE_ENV === 'production' ? 'production' : 'development';
|
|
14
|
+
const dotEnvFiles = [
|
|
15
|
+
`.env.${mode}.local`,
|
|
16
|
+
'.env.local',
|
|
17
|
+
`.env.${mode}`,
|
|
18
|
+
'.env'
|
|
19
|
+
];
|
|
20
|
+
for (const envFile of dotEnvFiles) {
|
|
21
|
+
const envFilePath = path_1.default.join(dir, envFile);
|
|
22
|
+
if (!(await fs_extra_1.default.pathExists(envFilePath))) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
logger === null || logger === void 0 ? void 0 : logger.debug(`[env] Loading env from ${envFilePath}`);
|
|
26
|
+
dotenv_1.default.config({ path: envFilePath });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.loadEnv = loadEnv;
|
|
30
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/services/env.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,wDAA2B;AAC3B,oDAA4B;AAI5B,sDAAsD;AACtD,2EAA2E;AACpE,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,MAAe;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAA;IACjF,MAAM,WAAW,GAAG;QAChB,QAAQ,IAAI,QAAQ;QACpB,YAAY;QACZ,QAAQ,IAAI,EAAE;QACd,MAAM;KACT,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;QAC/B,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,MAAM,kBAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE;YACtC,SAAS;SACZ;QACD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QACvD,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;KACxC;AACL,CAAC;AAhBD,0BAgBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackbit/dev",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"description": "stackbit-dev",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,15 +23,16 @@
|
|
|
23
23
|
"author": "Stackbit Inc.",
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@stackbit/cms-core": "^0.1.
|
|
27
|
-
"@stackbit/dev-common": "^0.1.
|
|
28
|
-
"@stackbit/sdk": "^0.3.
|
|
26
|
+
"@stackbit/cms-core": "^0.1.16",
|
|
27
|
+
"@stackbit/dev-common": "^0.1.25",
|
|
28
|
+
"@stackbit/sdk": "^0.3.12",
|
|
29
29
|
"axios": "^0.25.0",
|
|
30
30
|
"chalk": "^4.1.0",
|
|
31
31
|
"chokidar": "^3.5.3",
|
|
32
32
|
"configstore": "^5",
|
|
33
33
|
"cors": "^2.8.5",
|
|
34
34
|
"detect-port": "^1.3.0",
|
|
35
|
+
"dotenv": "^16.0.3",
|
|
35
36
|
"express": "^4.17.2",
|
|
36
37
|
"fs-extra": "^10.0.0",
|
|
37
38
|
"http-proxy-middleware": "^0.20.0",
|
|
@@ -60,5 +61,5 @@
|
|
|
60
61
|
"ts-jest": "^27.1.5",
|
|
61
62
|
"typescript": "^4.5.4"
|
|
62
63
|
},
|
|
63
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "53b83989ac76a7e3350cae30ea251aef605599df"
|
|
64
65
|
}
|
package/src/dev.ts
CHANGED
|
@@ -8,7 +8,7 @@ import apiService from './services/api';
|
|
|
8
8
|
import config from './config';
|
|
9
9
|
import chalk from 'chalk';
|
|
10
10
|
import open from 'open';
|
|
11
|
-
|
|
11
|
+
import { loadEnv } from './services/env';
|
|
12
12
|
|
|
13
13
|
interface DevOptions {
|
|
14
14
|
ssgPort: number;
|
|
@@ -35,6 +35,10 @@ interface DevOptions {
|
|
|
35
35
|
export async function start(options: DevOptions) {
|
|
36
36
|
logger.info('Site directory: ' + options.rootDir);
|
|
37
37
|
|
|
38
|
+
await loadEnv(options.rootDir, logger).catch((err) => {
|
|
39
|
+
logger.error('Error loading env', { err });
|
|
40
|
+
});
|
|
41
|
+
|
|
38
42
|
let serverPort = await detectPort(8090);
|
|
39
43
|
const userId = getUserId();
|
|
40
44
|
logger.debug('id: ' + userId);
|
|
@@ -77,7 +81,7 @@ export async function start(options: DevOptions) {
|
|
|
77
81
|
localDetails.csi = runner.isCsiEnabled();
|
|
78
82
|
} catch (err: any) {
|
|
79
83
|
if (err?.message) {
|
|
80
|
-
logger.error(err.message)
|
|
84
|
+
logger.error(err.message);
|
|
81
85
|
} else {
|
|
82
86
|
logger.error('Error starting Stackbit dev server');
|
|
83
87
|
}
|
|
@@ -107,9 +111,9 @@ export async function start(options: DevOptions) {
|
|
|
107
111
|
logger.info(`⚡ Open${options.autoOpen ? 'ing' : ''} ${chalk.bold(studioUrl)} in your browser`);
|
|
108
112
|
|
|
109
113
|
if (options.autoOpen) {
|
|
110
|
-
open(studioUrl).catch(err => {
|
|
114
|
+
open(studioUrl).catch((err) => {
|
|
111
115
|
logger.debug('Auto open error', { err });
|
|
112
116
|
logger.error('Error auto opening');
|
|
113
|
-
})
|
|
117
|
+
});
|
|
114
118
|
}
|
|
115
119
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import fse from 'fs-extra';
|
|
3
|
+
import dotenv from 'dotenv';
|
|
4
|
+
import { Logger } from '@stackbit/types';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
// dot env file loading - based on Next.js env loading
|
|
8
|
+
// https://github.com/vercel/next.js/blob/canary/packages/next-env/index.ts
|
|
9
|
+
export async function loadEnv(dir: string, logger?: Logger) {
|
|
10
|
+
const mode = process.env.NODE_ENV === 'production' ? 'production' : 'development'
|
|
11
|
+
const dotEnvFiles = [
|
|
12
|
+
`.env.${mode}.local`,
|
|
13
|
+
'.env.local',
|
|
14
|
+
`.env.${mode}`,
|
|
15
|
+
'.env'
|
|
16
|
+
];
|
|
17
|
+
for (const envFile of dotEnvFiles) {
|
|
18
|
+
const envFilePath = path.join(dir, envFile);
|
|
19
|
+
if (!(await fse.pathExists(envFilePath))) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
logger?.debug(`[env] Loading env from ${envFilePath}`);
|
|
23
|
+
dotenv.config({ path: envFilePath });
|
|
24
|
+
}
|
|
25
|
+
}
|