@foxford/den 3.2.0 → 3.2.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/bin/den.cjs +4 -3
- package/bin/den.js +2 -1
- package/builder/index.cjs +3 -2
- package/builder/index.js +2 -1
- package/chunk-KQAB6C6Q.cjs +15 -0
- package/chunk-RG7ZV5BD.js +15 -0
- package/{chunk-RRR2DJMN.cjs → chunk-UB3GCX73.cjs} +13 -2
- package/{chunk-BMI5HNGE.js → chunk-URSWYSZF.js} +13 -2
- package/package.json +8 -6
- package/serve/index.cjs +5 -1
- package/serve/index.d.cts +10 -1
- package/serve/index.d.ts +10 -1
- package/serve/index.js +4 -0
package/bin/den.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkUB3GCX73cjs = require('../chunk-UB3GCX73.cjs');
|
|
5
|
+
require('../chunk-KQAB6C6Q.cjs');
|
|
5
6
|
require('../chunk-A6ZPAM6Z.cjs');
|
|
6
7
|
|
|
7
8
|
|
|
@@ -69,11 +70,11 @@ function run(argv) {
|
|
|
69
70
|
}
|
|
70
71
|
const target = { base: options["base"], root: (_a = options["root"]) != null ? _a : process.cwd() };
|
|
71
72
|
if (command === "build") {
|
|
72
|
-
yield
|
|
73
|
+
yield _chunkUB3GCX73cjs.buildApp.call(void 0, target);
|
|
73
74
|
return;
|
|
74
75
|
}
|
|
75
76
|
if (command === "dev") {
|
|
76
|
-
yield
|
|
77
|
+
yield _chunkUB3GCX73cjs.devApp.call(void 0, target);
|
|
77
78
|
return;
|
|
78
79
|
}
|
|
79
80
|
fail(`\u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430 \xAB${command}\xBB`);
|
package/bin/den.js
CHANGED
package/builder/index.cjs
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkUB3GCX73cjs = require('../chunk-UB3GCX73.cjs');
|
|
6
|
+
require('../chunk-KQAB6C6Q.cjs');
|
|
6
7
|
require('../chunk-A6ZPAM6Z.cjs');
|
|
7
8
|
require('../chunk-T5QVCXVB.cjs');
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
|
|
12
|
-
exports.buildApp =
|
|
13
|
+
exports.buildApp = _chunkUB3GCX73cjs.buildApp; exports.defineAppConfig = _chunkUB3GCX73cjs.defineAppConfig; exports.devApp = _chunkUB3GCX73cjs.devApp;
|
package/builder/index.js
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/serve/env.ts
|
|
2
|
+
var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);
|
|
3
|
+
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
4
|
+
var ENV_FILE = ".env";
|
|
5
|
+
function loadAppEnv(root) {
|
|
6
|
+
const file = _path2.default.join(root, ENV_FILE);
|
|
7
|
+
if (!_fs2.default.existsSync(file)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
process.loadEnvFile(file);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
exports.loadAppEnv = loadAppEnv;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// src/serve/env.ts
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
var ENV_FILE = ".env";
|
|
5
|
+
function loadAppEnv(root) {
|
|
6
|
+
const file = path.join(root, ENV_FILE);
|
|
7
|
+
if (!fs.existsSync(file)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
process.loadEnvFile(file);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
loadAppEnv
|
|
15
|
+
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
+
var _chunkKQAB6C6Qcjs = require('./chunk-KQAB6C6Q.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
3
6
|
var _chunkA6ZPAM6Zcjs = require('./chunk-A6ZPAM6Z.cjs');
|
|
4
7
|
|
|
5
8
|
|
|
@@ -109,11 +112,16 @@ export default descriptor
|
|
|
109
112
|
function generateServerProcess(configPath, base, mode) {
|
|
110
113
|
const assets = mode === "development" ? ` assets: { base: ${JSON.stringify(base)}, dir: fileURLToPath(new URL('./client', import.meta.url)) },
|
|
111
114
|
` : "";
|
|
112
|
-
return
|
|
115
|
+
return `import { fileURLToPath } from 'node:url'
|
|
116
|
+
|
|
117
|
+
import { loadAppEnv, serveApp } from '@foxford/den/serve'
|
|
113
118
|
|
|
114
119
|
import app from ${JSON.stringify(VIRTUAL_SERVER_APP)}
|
|
115
120
|
import config from ${JSON.stringify(configPath)}
|
|
116
121
|
|
|
122
|
+
// \u0423\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044F \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u2014 \u0434\u043E \u043F\u0435\u0440\u0432\u043E\u0433\u043E \u0447\u0442\u0435\u043D\u0438\u044F: \u043F\u043E\u0440\u0442 \u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0447\u0438\u0442\u0430\u044E\u0442\u0441\u044F \u043D\u0438\u0436\u0435
|
|
123
|
+
loadAppEnv(fileURLToPath(new URL('..', import.meta.url)))
|
|
124
|
+
|
|
117
125
|
await serveApp(app, {
|
|
118
126
|
${assets} configure: config.server?.configure,
|
|
119
127
|
host: process.env.HOST,
|
|
@@ -225,6 +233,7 @@ function buildApp(options) {
|
|
|
225
233
|
const { mode = "production" } = options;
|
|
226
234
|
process.env["NODE_ENV"] = mode;
|
|
227
235
|
const root = _path2.default.resolve(options.root);
|
|
236
|
+
_chunkKQAB6C6Qcjs.loadAppEnv.call(void 0, root);
|
|
228
237
|
const { config, configPath } = yield loadAppConfig(root);
|
|
229
238
|
const port = resolvePort((_a = config.server) == null ? void 0 : _a.port);
|
|
230
239
|
const base = (_b = options.base) != null ? _b : "";
|
|
@@ -309,7 +318,9 @@ function bannerLines(facts2) {
|
|
|
309
318
|
`${label("\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E")}http://localhost:${port}`,
|
|
310
319
|
...network === void 0 ? [] : [`${label("\u0432 \u0441\u0435\u0442\u0438")}http://${network}:${port}`],
|
|
311
320
|
`${label("\u0440\u0443\u0447\u043A\u0438")}${ENDPOINTS.join(" ")}`,
|
|
312
|
-
|
|
321
|
+
// Префикс печатается, только когда он есть: при относительной сборке артефакты идут с
|
|
322
|
+
// адреса самого приложения, а он уже назван строкой выше
|
|
323
|
+
...facts2.base === void 0 || facts2.base === "" ? [] : [`${label("\u043F\u0440\u0435\u0444\u0438\u043A\u0441")}${facts2.base}`],
|
|
313
324
|
`${label("\u0447\u0430\u043D\u043A\u0438")}${assetsSummary(facts2.assets)}`,
|
|
314
325
|
`${label("\u0432\u044B\u0445\u043E\u0434\u044B")}${OUTPUTS.join(", ")}`,
|
|
315
326
|
`${label("\u043F\u0440\u0430\u0432\u043A\u0438")}${facts2.watched.join(", ")}`,
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
loadAppEnv
|
|
3
|
+
} from "./chunk-RG7ZV5BD.js";
|
|
1
4
|
import {
|
|
2
5
|
logger
|
|
3
6
|
} from "./chunk-TPBI6TOU.js";
|
|
@@ -109,11 +112,16 @@ export default descriptor
|
|
|
109
112
|
function generateServerProcess(configPath, base, mode) {
|
|
110
113
|
const assets = mode === "development" ? ` assets: { base: ${JSON.stringify(base)}, dir: fileURLToPath(new URL('./client', import.meta.url)) },
|
|
111
114
|
` : "";
|
|
112
|
-
return
|
|
115
|
+
return `import { fileURLToPath } from 'node:url'
|
|
116
|
+
|
|
117
|
+
import { loadAppEnv, serveApp } from '@foxford/den/serve'
|
|
113
118
|
|
|
114
119
|
import app from ${JSON.stringify(VIRTUAL_SERVER_APP)}
|
|
115
120
|
import config from ${JSON.stringify(configPath)}
|
|
116
121
|
|
|
122
|
+
// \u0423\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044F \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u2014 \u0434\u043E \u043F\u0435\u0440\u0432\u043E\u0433\u043E \u0447\u0442\u0435\u043D\u0438\u044F: \u043F\u043E\u0440\u0442 \u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0447\u0438\u0442\u0430\u044E\u0442\u0441\u044F \u043D\u0438\u0436\u0435
|
|
123
|
+
loadAppEnv(fileURLToPath(new URL('..', import.meta.url)))
|
|
124
|
+
|
|
117
125
|
await serveApp(app, {
|
|
118
126
|
${assets} configure: config.server?.configure,
|
|
119
127
|
host: process.env.HOST,
|
|
@@ -225,6 +233,7 @@ function buildApp(options) {
|
|
|
225
233
|
const { mode = "production" } = options;
|
|
226
234
|
process.env["NODE_ENV"] = mode;
|
|
227
235
|
const root = path2.resolve(options.root);
|
|
236
|
+
loadAppEnv(root);
|
|
228
237
|
const { config, configPath } = yield loadAppConfig(root);
|
|
229
238
|
const port = resolvePort((_a = config.server) == null ? void 0 : _a.port);
|
|
230
239
|
const base = (_b = options.base) != null ? _b : "";
|
|
@@ -309,7 +318,9 @@ function bannerLines(facts2) {
|
|
|
309
318
|
`${label("\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E")}http://localhost:${port}`,
|
|
310
319
|
...network === void 0 ? [] : [`${label("\u0432 \u0441\u0435\u0442\u0438")}http://${network}:${port}`],
|
|
311
320
|
`${label("\u0440\u0443\u0447\u043A\u0438")}${ENDPOINTS.join(" ")}`,
|
|
312
|
-
|
|
321
|
+
// Префикс печатается, только когда он есть: при относительной сборке артефакты идут с
|
|
322
|
+
// адреса самого приложения, а он уже назван строкой выше
|
|
323
|
+
...facts2.base === void 0 || facts2.base === "" ? [] : [`${label("\u043F\u0440\u0435\u0444\u0438\u043A\u0441")}${facts2.base}`],
|
|
313
324
|
`${label("\u0447\u0430\u043D\u043A\u0438")}${assetsSummary(facts2.assets)}`,
|
|
314
325
|
`${label("\u0432\u044B\u0445\u043E\u0434\u044B")}${OUTPUTS.join(", ")}`,
|
|
315
326
|
`${label("\u043F\u0440\u0430\u0432\u043A\u0438")}${facts2.watched.join(", ")}`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foxford/den",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "Den — декларативный метафреймворк Foxford (core runtime)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"foxford",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"fastify": "^5.11.2",
|
|
27
|
-
"@foxford/
|
|
28
|
-
"@foxford/
|
|
27
|
+
"@foxford/ioc": "^1.1.2",
|
|
28
|
+
"@foxford/logger": "^1.2.2"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"vite": ">=5.0.0"
|
|
@@ -86,14 +86,16 @@
|
|
|
86
86
|
"chunk-6FNC3XMI.js",
|
|
87
87
|
"chunk-6QV4L6R2.cjs",
|
|
88
88
|
"chunk-A6ZPAM6Z.cjs",
|
|
89
|
-
"chunk-BMI5HNGE.js",
|
|
90
89
|
"chunk-C7BM4DGX.cjs",
|
|
91
90
|
"chunk-E23E2VUC.js",
|
|
91
|
+
"chunk-KQAB6C6Q.cjs",
|
|
92
92
|
"chunk-MCN4GFEQ.js",
|
|
93
|
-
"chunk-
|
|
93
|
+
"chunk-RG7ZV5BD.js",
|
|
94
94
|
"chunk-T5QVCXVB.cjs",
|
|
95
95
|
"chunk-TPBI6TOU.js",
|
|
96
96
|
"chunk-TPHJUDHG.js",
|
|
97
|
+
"chunk-UB3GCX73.cjs",
|
|
98
|
+
"chunk-URSWYSZF.js",
|
|
97
99
|
"chunk-WBHHHICS.js",
|
|
98
100
|
"chunk-XOJ2VWX4.cjs",
|
|
99
101
|
"chunk-Z5BL4DJA.cjs",
|
|
@@ -125,6 +127,6 @@
|
|
|
125
127
|
"view-adapter-B4gEb-ms.d.ts",
|
|
126
128
|
"view-adapter-DJ7yB6Ml.d.cts"
|
|
127
129
|
],
|
|
128
|
-
"sha": "
|
|
130
|
+
"sha": "57a2d9b",
|
|
129
131
|
"scripts": {}
|
|
130
132
|
}
|
package/serve/index.cjs
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
+
var _chunkKQAB6C6Qcjs = require('../chunk-KQAB6C6Q.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
3
6
|
|
|
4
7
|
|
|
5
8
|
var _chunkZOU6W6ZQcjs = require('../chunk-ZOU6W6ZQ.cjs');
|
|
@@ -184,4 +187,5 @@ function serveApp(_0) {
|
|
|
184
187
|
|
|
185
188
|
|
|
186
189
|
|
|
187
|
-
|
|
190
|
+
|
|
191
|
+
exports.appPlugin = appPlugin; exports.loadAppEnv = _chunkKQAB6C6Qcjs.loadAppEnv; exports.registerAssets = registerAssets; exports.serveApp = serveApp;
|
package/serve/index.d.cts
CHANGED
|
@@ -41,6 +41,15 @@ interface AppPluginOptions {
|
|
|
41
41
|
*/
|
|
42
42
|
declare const appPlugin: FastifyPluginAsync<AppPluginOptions>;
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Кладёт умолчания из `<root>/.env` в окружение процесса.
|
|
46
|
+
*
|
|
47
|
+
* Отсутствие файла — норма, а не отказ: он локальный и в репозиторий не попадает.
|
|
48
|
+
*
|
|
49
|
+
* @param root - Корень приложения
|
|
50
|
+
*/
|
|
51
|
+
declare function loadAppEnv(root: string): void;
|
|
52
|
+
|
|
44
53
|
/** Настройки инстанса. */
|
|
45
54
|
interface ServeAppOptions {
|
|
46
55
|
/** Порт; `0` — свободный, фактический смотри в `server.addresses()`. */
|
|
@@ -79,4 +88,4 @@ interface ServeAppOptions {
|
|
|
79
88
|
*/
|
|
80
89
|
declare function serveApp(app: ServableApp, options?: ServeAppOptions): Promise<FastifyInstance>;
|
|
81
90
|
|
|
82
|
-
export { type AppAssetsSource, type AppPluginOptions, type ServableApp, type ServeAppOptions, appPlugin, registerAssets, serveApp };
|
|
91
|
+
export { type AppAssetsSource, type AppPluginOptions, type ServableApp, type ServeAppOptions, appPlugin, loadAppEnv, registerAssets, serveApp };
|
package/serve/index.d.ts
CHANGED
|
@@ -41,6 +41,15 @@ interface AppPluginOptions {
|
|
|
41
41
|
*/
|
|
42
42
|
declare const appPlugin: FastifyPluginAsync<AppPluginOptions>;
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Кладёт умолчания из `<root>/.env` в окружение процесса.
|
|
46
|
+
*
|
|
47
|
+
* Отсутствие файла — норма, а не отказ: он локальный и в репозиторий не попадает.
|
|
48
|
+
*
|
|
49
|
+
* @param root - Корень приложения
|
|
50
|
+
*/
|
|
51
|
+
declare function loadAppEnv(root: string): void;
|
|
52
|
+
|
|
44
53
|
/** Настройки инстанса. */
|
|
45
54
|
interface ServeAppOptions {
|
|
46
55
|
/** Порт; `0` — свободный, фактический смотри в `server.addresses()`. */
|
|
@@ -79,4 +88,4 @@ interface ServeAppOptions {
|
|
|
79
88
|
*/
|
|
80
89
|
declare function serveApp(app: ServableApp, options?: ServeAppOptions): Promise<FastifyInstance>;
|
|
81
90
|
|
|
82
|
-
export { type AppAssetsSource, type AppPluginOptions, type ServableApp, type ServeAppOptions, appPlugin, registerAssets, serveApp };
|
|
91
|
+
export { type AppAssetsSource, type AppPluginOptions, type ServableApp, type ServeAppOptions, appPlugin, loadAppEnv, registerAssets, serveApp };
|
package/serve/index.js
CHANGED