@mirta/rollup 0.4.5 → 0.4.6
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/config.mjs +2 -1
- package/dist/index.d.mts +9 -0
- package/dist/index.mjs +1 -1
- package/dist/runtime.mjs +33 -2
- package/package.json +5 -6
package/dist/config.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { d as defineRuntimeConfig } from './runtime.mjs';
|
|
2
|
+
import 'node:fs/promises';
|
|
2
3
|
import '@rollup/plugin-multi-entry';
|
|
3
4
|
import '@rollup/plugin-node-resolve';
|
|
4
|
-
import 'rollup
|
|
5
|
+
import '@rollup/plugin-typescript';
|
|
5
6
|
import '@rollup/plugin-replace';
|
|
6
7
|
import '@rollup/plugin-babel';
|
|
7
8
|
import '@mirta/env-loader';
|
package/dist/index.d.mts
CHANGED
|
@@ -73,6 +73,15 @@ declare function definePackageConfig(options?: RollupConfigOptions): RollupOptio
|
|
|
73
73
|
interface RuntimeConfigOptions {
|
|
74
74
|
/** Корневая директория проекта. */
|
|
75
75
|
cwd?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Имя файла `tsconfig.json` для плагина TypeScript.
|
|
78
|
+
*
|
|
79
|
+
* Поведение по умолчанию:
|
|
80
|
+
* - Если в целевом расположении существует `tsconfig.build.json` — будет использован он
|
|
81
|
+
* - Иначе — `tsconfig.json`
|
|
82
|
+
*
|
|
83
|
+
**/
|
|
84
|
+
tsconfig?: string;
|
|
76
85
|
/** Внешние зависимости, исключённые из сборки. */
|
|
77
86
|
external?: ExternalOption;
|
|
78
87
|
/** Конфигурация загрузчика `.env`-файлов `dotenvx`, {@link EnvLoaderOptions}. */
|
package/dist/index.mjs
CHANGED
|
@@ -12,8 +12,8 @@ import 'typescript';
|
|
|
12
12
|
import 'node:path';
|
|
13
13
|
import '@mirta/package';
|
|
14
14
|
import '@mirta/basics/array';
|
|
15
|
+
import 'node:fs/promises';
|
|
15
16
|
import '@rollup/plugin-multi-entry';
|
|
16
|
-
import 'rollup-plugin-typescript2';
|
|
17
17
|
import '@rollup/plugin-babel';
|
|
18
18
|
import '@mirta/env-loader';
|
|
19
19
|
import '@mirta/workspace';
|
package/dist/runtime.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
1
2
|
import multi from '@rollup/plugin-multi-entry';
|
|
2
3
|
import nodeResolve from '@rollup/plugin-node-resolve';
|
|
3
|
-
import ts from 'rollup
|
|
4
|
+
import ts from '@rollup/plugin-typescript';
|
|
4
5
|
import replace from '@rollup/plugin-replace';
|
|
5
6
|
import { getBabelOutputPlugin } from '@rollup/plugin-babel';
|
|
6
7
|
import { loadEnvReplacements } from '@mirta/env-loader';
|
|
@@ -194,6 +195,33 @@ function getEntryPath(filePath) {
|
|
|
194
195
|
const mode = process.env.NODE_ENV ?? 'development';
|
|
195
196
|
const isProduction = mode === 'production';
|
|
196
197
|
const outDir = 'dist/es5';
|
|
198
|
+
const tsConfigFile = 'tsconfig.json';
|
|
199
|
+
const tsConfigBuildFile = 'tsconfig.build.json';
|
|
200
|
+
/**
|
|
201
|
+
* Определяет файл tsconfig для сборки: сначала ищет `tsconfig.build.json`,
|
|
202
|
+
* при его отсутствии возвращает `tsconfig.json`.
|
|
203
|
+
*
|
|
204
|
+
* @param cwd - Рабочая директория проекта
|
|
205
|
+
* @returns Полный путь к найденному файлу конфигурации
|
|
206
|
+
*
|
|
207
|
+
* @since 0.4.6
|
|
208
|
+
*
|
|
209
|
+
**/
|
|
210
|
+
async function resolveTsConfigAsync(cwd, filePath, ignoreMissing) {
|
|
211
|
+
const tsconfig = nodePath.resolve(cwd, filePath);
|
|
212
|
+
try {
|
|
213
|
+
await fs.access(tsconfig);
|
|
214
|
+
return tsconfig;
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
if (ignoreMissing)
|
|
218
|
+
return false;
|
|
219
|
+
if (nodePath.resolve(cwd) === process.cwd())
|
|
220
|
+
return undefined;
|
|
221
|
+
// Fallback на явный путь для изоляции
|
|
222
|
+
return resolveTsConfigAsync(cwd, tsConfigFile, true);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
197
225
|
/**
|
|
198
226
|
* Собирает Rollup-конфигурацию для сборки runtime-кода проекта с учётом монорепозитория и подстановки переменных окружения.
|
|
199
227
|
*
|
|
@@ -204,6 +232,9 @@ const outDir = 'dist/es5';
|
|
|
204
232
|
async function defineRuntimeConfig(options = {}) {
|
|
205
233
|
const { cwd = process.cwd(), external, envLoader: envLoaderOptions, plugins = [], } = options;
|
|
206
234
|
const monorepoContext = await resolveMonorepoContextAsync(cwd);
|
|
235
|
+
const tsconfig = options.tsconfig
|
|
236
|
+
? nodePath.resolve(cwd, options.tsconfig)
|
|
237
|
+
: await resolveTsConfigAsync(cwd, tsConfigBuildFile);
|
|
207
238
|
const defaultPlugins = [
|
|
208
239
|
// Очистка директории dist перед сборкой
|
|
209
240
|
del({
|
|
@@ -217,7 +248,7 @@ async function defineRuntimeConfig(options = {}) {
|
|
|
217
248
|
// Поиск зависимостей в node_modules
|
|
218
249
|
nodeResolve(),
|
|
219
250
|
// Транспиляция TypeScript
|
|
220
|
-
ts({
|
|
251
|
+
ts({ tsconfig, outDir }),
|
|
221
252
|
// Обработка импортов для wb-rules
|
|
222
253
|
wbRulesImports(),
|
|
223
254
|
// Подстановка переменных окружения
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirta/rollup",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"description": "Predefined Rollup configuration for wb-rules project builds",
|
|
6
6
|
"keywords": [
|
|
@@ -64,12 +64,11 @@
|
|
|
64
64
|
"magic-string": "^0.30.21",
|
|
65
65
|
"rollup-plugin-copy": "^3.5.0",
|
|
66
66
|
"rollup-plugin-dts": "^6.3.0",
|
|
67
|
-
"rollup-plugin-typescript2": "^0.36.0",
|
|
68
67
|
"find-up": "^8.0.0",
|
|
69
|
-
"@mirta/
|
|
70
|
-
"@mirta/
|
|
71
|
-
"@mirta/
|
|
72
|
-
"@mirta/
|
|
68
|
+
"@mirta/basics": "0.4.6",
|
|
69
|
+
"@mirta/env-loader": "0.4.6",
|
|
70
|
+
"@mirta/package": "0.4.6",
|
|
71
|
+
"@mirta/workspace": "0.4.6"
|
|
73
72
|
},
|
|
74
73
|
"devDependencies": {
|
|
75
74
|
"rollup": "^4.55.1",
|