@mirta/rollup 0.4.5 → 0.4.7

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 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-plugin-typescript2';
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-plugin-typescript2';
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({ clean: true }),
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.5",
3
+ "version": "0.4.7",
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/package": "0.4.5",
70
- "@mirta/workspace": "0.4.5",
71
- "@mirta/env-loader": "0.4.5",
72
- "@mirta/basics": "0.4.5"
68
+ "@mirta/env-loader": "0.4.7",
69
+ "@mirta/package": "0.4.7",
70
+ "@mirta/basics": "0.4.7",
71
+ "@mirta/workspace": "0.4.7"
73
72
  },
74
73
  "devDependencies": {
75
74
  "rollup": "^4.55.1",