@sima-land/isomorph 11.0.0-alpha.7 → 11.0.0-alpha.8
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/config/browser.js +10 -1
- package/config/browser.js.map +1 -1
- package/config/node.js +10 -5
- package/config/node.js.map +1 -1
- package/package.json +1 -1
- package/utils/webpack/index.d.ts +23 -0
- package/utils/webpack/index.js +66 -0
- package/utils/webpack/index.js.map +1 -0
- package/config/utils.d.ts +0 -5
- package/config/utils.js +0 -12
- package/config/utils.js.map +0 -1
package/config/browser.js
CHANGED
|
@@ -7,7 +7,16 @@ const env_1 = require("@humanwhocodes/env");
|
|
|
7
7
|
* @return Источник.
|
|
8
8
|
*/
|
|
9
9
|
function createConfigSource() {
|
|
10
|
-
|
|
10
|
+
const source = {};
|
|
11
|
+
// докидываем process если он предоставлен сборкой
|
|
12
|
+
if (typeof process !== 'undefined') {
|
|
13
|
+
Object.assign(source, process.env);
|
|
14
|
+
}
|
|
15
|
+
// докидываем зашиваемые переменные окружения
|
|
16
|
+
if (typeof __ISOMORPH_ENV__ !== 'undefined') {
|
|
17
|
+
Object.assign(source, __ISOMORPH_ENV__);
|
|
18
|
+
}
|
|
19
|
+
return new env_1.Env(source);
|
|
11
20
|
}
|
|
12
21
|
exports.createConfigSource = createConfigSource;
|
|
13
22
|
//# sourceMappingURL=browser.js.map
|
package/config/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/config/browser.ts"],"names":[],"mappings":";;;AACA,4CAAyC;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/config/browser.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AAIzC;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,MAAM,MAAM,GAAuC,EAAE,CAAC;IAEtD,kDAAkD;IAClD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;KACpC;IAED,6CAA6C;IAC7C,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,SAAG,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAdD,gDAcC"}
|
package/config/node.js
CHANGED
|
@@ -3,17 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createConfigSource = void 0;
|
|
4
4
|
const env_1 = require("@humanwhocodes/env");
|
|
5
5
|
const dotenv_1 = require("dotenv");
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
6
|
/**
|
|
8
7
|
* Возвращает "источник" для конфигурации.
|
|
9
8
|
* @return Источник.
|
|
10
9
|
*/
|
|
11
10
|
function createConfigSource() {
|
|
12
|
-
|
|
13
|
-
const
|
|
11
|
+
const envName = process.env.NODE_ENV;
|
|
12
|
+
const source = { ...process.env };
|
|
14
13
|
// подключаем соответствующий среде файл со значениями по умолчанию
|
|
15
|
-
(
|
|
16
|
-
|
|
14
|
+
if (envName) {
|
|
15
|
+
(0, dotenv_1.config)({ path: `./.env.${envName}` });
|
|
16
|
+
}
|
|
17
|
+
// докидываем зашиваемые переменные окружения
|
|
18
|
+
if (typeof __ISOMORPH_ENV__ !== 'undefined') {
|
|
19
|
+
Object.assign(source, __ISOMORPH_ENV__);
|
|
20
|
+
}
|
|
21
|
+
return new env_1.Env(source);
|
|
17
22
|
}
|
|
18
23
|
exports.createConfigSource = createConfigSource;
|
|
19
24
|
//# sourceMappingURL=node.js.map
|
package/config/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/config/node.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AACzC,mCAAgC;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/config/node.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AACzC,mCAAgC;AAIhC;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,MAAM,MAAM,GAAuC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEtE,mEAAmE;IACnE,IAAI,OAAO,EAAE;QACX,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC,CAAC;KACvC;IAED,6CAA6C;IAC7C,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,SAAG,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAfD,gDAeC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import webpack from 'webpack';
|
|
2
|
+
/**
|
|
3
|
+
* Плагин для зашивания переменных среды в сборки.
|
|
4
|
+
* В браузерную сборку зашьёт только переменные с префиксом "PUBLIC_".
|
|
5
|
+
* ВАЖНО: все зашиваемые переменные будут доступны через глобальный объект __ISOMORPH_ENV__.
|
|
6
|
+
*/
|
|
7
|
+
export declare class EnvPlugin {
|
|
8
|
+
options: {
|
|
9
|
+
additional: string[];
|
|
10
|
+
define?: Record<string, string>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @param options Опции.
|
|
14
|
+
*/
|
|
15
|
+
constructor(options?: {
|
|
16
|
+
additional?: string[];
|
|
17
|
+
define?: Record<string, string>;
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* @param compiler Компилятор.
|
|
21
|
+
*/
|
|
22
|
+
apply(compiler: webpack.Compiler): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
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.EnvPlugin = void 0;
|
|
7
|
+
const lodash_1 = require("lodash");
|
|
8
|
+
const webpack_1 = __importDefault(require("webpack"));
|
|
9
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const env_1 = require("@humanwhocodes/env");
|
|
12
|
+
/**
|
|
13
|
+
* Плагин для зашивания переменных среды в сборки.
|
|
14
|
+
* В браузерную сборку зашьёт только переменные с префиксом "PUBLIC_".
|
|
15
|
+
* ВАЖНО: все зашиваемые переменные будут доступны через глобальный объект __ISOMORPH_ENV__.
|
|
16
|
+
*/
|
|
17
|
+
class EnvPlugin {
|
|
18
|
+
/**
|
|
19
|
+
* @param options Опции.
|
|
20
|
+
*/
|
|
21
|
+
constructor(options = {}) {
|
|
22
|
+
this.options = {
|
|
23
|
+
additional: options.additional || [],
|
|
24
|
+
define: options.define,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @param compiler Компилятор.
|
|
29
|
+
*/
|
|
30
|
+
apply(compiler) {
|
|
31
|
+
const { NODE_ENV } = new env_1.Env().required;
|
|
32
|
+
dotenv_1.default.config({ path: path_1.default.join(process.cwd(), `.env.${NODE_ENV}`) });
|
|
33
|
+
const target = Array.isArray(compiler.options.target)
|
|
34
|
+
? compiler.options.target
|
|
35
|
+
: [compiler.options.target];
|
|
36
|
+
// browser
|
|
37
|
+
if (target.includes('web')) {
|
|
38
|
+
const valuesWeb = {
|
|
39
|
+
...this.options.define,
|
|
40
|
+
...(0, lodash_1.pick)(process.env, [...this.options.additional, 'NODE_ENV']),
|
|
41
|
+
...(0, lodash_1.pickBy)(process.env, (_, key) => key.startsWith('PUBLIC_')),
|
|
42
|
+
};
|
|
43
|
+
new webpack_1.default.DefinePlugin({ __ISOMORPH_ENV__: JSON.stringify(valuesWeb) }).apply(compiler);
|
|
44
|
+
new webpack_1.default.DefinePlugin(Object.entries(valuesWeb).reduce((acc, [key, value]) => {
|
|
45
|
+
acc[`process.env.${key}`] = JSON.stringify(value);
|
|
46
|
+
return acc;
|
|
47
|
+
}, {})).apply(compiler);
|
|
48
|
+
}
|
|
49
|
+
// node
|
|
50
|
+
if (!target.includes('web')) {
|
|
51
|
+
const valuesNode = {
|
|
52
|
+
...this.options.define,
|
|
53
|
+
...(0, lodash_1.pick)(process.env, [...this.options.additional, 'NODE_ENV']),
|
|
54
|
+
};
|
|
55
|
+
new webpack_1.default.DefinePlugin({ __ISOMORPH_ENV__: JSON.stringify(valuesNode) }).apply(compiler);
|
|
56
|
+
if (this.options.define) {
|
|
57
|
+
new webpack_1.default.DefinePlugin(Object.entries(this.options.define).reduce((acc, [key, value]) => {
|
|
58
|
+
acc[`process.env.${key}`] = JSON.stringify(value);
|
|
59
|
+
return acc;
|
|
60
|
+
}, {})).apply(compiler);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.EnvPlugin = EnvPlugin;
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/webpack/index.ts"],"names":[],"mappings":"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"}
|
package/config/utils.d.ts
DELETED
package/config/utils.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineEnvironment = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Возвращает значение process.env.NODE_ENV или "unknown".
|
|
6
|
-
* @return Значение.
|
|
7
|
-
*/
|
|
8
|
-
function defineEnvironment() {
|
|
9
|
-
return process.env.NODE_ENV || 'unknown';
|
|
10
|
-
}
|
|
11
|
-
exports.defineEnvironment = defineEnvironment;
|
|
12
|
-
//# sourceMappingURL=utils.js.map
|
package/config/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;AAC3C,CAAC;AAFD,8CAEC"}
|