@mirta/rollup 0.3.3 → 0.3.5
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/configs/index.d.mts +19 -0
- package/dist/configs/index.mjs +47 -0
- package/dist/index.d.mts +57 -12
- package/dist/index.mjs +19 -355
- package/dist/runtime.mjs +1571 -0
- package/package.json +21 -5
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as rollup from 'rollup';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Основная функция для определения конфигурации на основе переданных аргументов.
|
|
5
|
+
*
|
|
6
|
+
* @param args Объект с аргументами командной строки Rollup.
|
|
7
|
+
* Доступные ключи:
|
|
8
|
+
* - 'config-package': активирует использование пакетной конфигурации.
|
|
9
|
+
* - 'config-skip-exports': указывает, следует ли пропустить экспорт.
|
|
10
|
+
*
|
|
11
|
+
* @returns Результат выполнения функции `definePackageConfig` или `defineRuntimeConfig`
|
|
12
|
+
* в зависимости от наличия флага 'config-package'.
|
|
13
|
+
*
|
|
14
|
+
* @since 0.3.5
|
|
15
|
+
*
|
|
16
|
+
**/
|
|
17
|
+
declare function resolveConfig(args: Record<string, unknown>): rollup.RollupOptions[] | Promise<rollup.RollupOptions>;
|
|
18
|
+
|
|
19
|
+
export { resolveConfig as default };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { d as definePackageConfig, a as defineRuntimeConfig } from '../runtime.mjs';
|
|
2
|
+
import '@rollup/plugin-typescript';
|
|
3
|
+
import '@rollup/plugin-node-resolve';
|
|
4
|
+
import '@rollup/plugin-commonjs';
|
|
5
|
+
import '@rollup/plugin-replace';
|
|
6
|
+
import 'rollup-plugin-copy';
|
|
7
|
+
import 'rollup-plugin-dts';
|
|
8
|
+
import 'typescript';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import '@rollup/plugin-multi-entry';
|
|
11
|
+
import 'rollup-plugin-typescript2';
|
|
12
|
+
import '@dotenv-run/rollup';
|
|
13
|
+
import '@rollup/plugin-babel';
|
|
14
|
+
import 'del';
|
|
15
|
+
import 'path';
|
|
16
|
+
import 'magic-string';
|
|
17
|
+
import '@pnpm/find-workspace-dir';
|
|
18
|
+
import '@pnpm/workspace.find-packages';
|
|
19
|
+
import 'fs';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Основная функция для определения конфигурации на основе переданных аргументов.
|
|
23
|
+
*
|
|
24
|
+
* @param args Объект с аргументами командной строки Rollup.
|
|
25
|
+
* Доступные ключи:
|
|
26
|
+
* - 'config-package': активирует использование пакетной конфигурации.
|
|
27
|
+
* - 'config-skip-exports': указывает, следует ли пропустить экспорт.
|
|
28
|
+
*
|
|
29
|
+
* @returns Результат выполнения функции `definePackageConfig` или `defineRuntimeConfig`
|
|
30
|
+
* в зависимости от наличия флага 'config-package'.
|
|
31
|
+
*
|
|
32
|
+
* @since 0.3.5
|
|
33
|
+
*
|
|
34
|
+
**/
|
|
35
|
+
function resolveConfig(args) {
|
|
36
|
+
// Признак использования пакетной конфигурации.
|
|
37
|
+
const usePackageConfig = 'config-package' in args;
|
|
38
|
+
// Пропуск проверки секции экспорта.
|
|
39
|
+
const skipExports = 'config-skip-exports' in args;
|
|
40
|
+
return usePackageConfig
|
|
41
|
+
? definePackageConfig({
|
|
42
|
+
skipExports,
|
|
43
|
+
})
|
|
44
|
+
: defineRuntimeConfig();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { resolveConfig as default };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,32 +1,77 @@
|
|
|
1
|
-
import { Plugin, RollupOptions
|
|
1
|
+
import { ExternalOption, Plugin, RollupOptions } from 'rollup';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Опции конфигурации Rollup.
|
|
5
|
+
*
|
|
6
|
+
* @since 0.3.0
|
|
7
|
+
*
|
|
8
|
+
**/
|
|
3
9
|
interface RollupConfigOptions {
|
|
4
10
|
/** Текущая рабочая директория. */
|
|
5
11
|
cwd?: string;
|
|
6
|
-
|
|
12
|
+
input?: string | string[] | Record<string, string>;
|
|
13
|
+
external?: ExternalOption;
|
|
7
14
|
plugins?: Plugin[];
|
|
15
|
+
/**
|
|
16
|
+
* Игнорирует отсутствие или некорректность секции `exports`,
|
|
17
|
+
* если пакет собирается для целей запуска исполняемых файлов (поле `bin`).
|
|
18
|
+
*
|
|
19
|
+
* Полезно при сборке проектов, которые распространяются
|
|
20
|
+
* только как готовые приложения, а не как модули,
|
|
21
|
+
* содержащие экспортируемый API.
|
|
22
|
+
*
|
|
23
|
+
* @since 0.3.5
|
|
24
|
+
*
|
|
25
|
+
**/
|
|
26
|
+
skipExports?: boolean;
|
|
8
27
|
}
|
|
9
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Определяет конфигурацию сборки на основе package.json.
|
|
30
|
+
*
|
|
31
|
+
* @param options Опции конфигурации Rollup.
|
|
32
|
+
* @returns Массив конфигураций Rollup.
|
|
33
|
+
*
|
|
34
|
+
* @since 0.3.0
|
|
35
|
+
*
|
|
36
|
+
**/
|
|
37
|
+
declare function definePackageConfig(options?: RollupConfigOptions): RollupOptions[];
|
|
10
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Опции для загрузки переменных окружения через dotenv.
|
|
41
|
+
*
|
|
42
|
+
**/
|
|
11
43
|
interface DotenvOptions {
|
|
12
|
-
/**
|
|
44
|
+
/** Префикс для фильтрации переменных окружения. */
|
|
13
45
|
prefix?: string;
|
|
14
|
-
/**
|
|
46
|
+
/** Вывод в консоль значений переменных окружения. */
|
|
15
47
|
unsecure?: boolean;
|
|
16
|
-
/**
|
|
48
|
+
/** Вывод в консоль отладочной информации. */
|
|
17
49
|
verbose: boolean;
|
|
18
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Опции конфигурации сборки.
|
|
53
|
+
*
|
|
54
|
+
**/
|
|
19
55
|
interface RuntimeConfigOptions {
|
|
56
|
+
/** Корневая директория проекта. */
|
|
20
57
|
cwd?: string;
|
|
58
|
+
/** Внешние зависимости, исключённые из сборки. */
|
|
21
59
|
external?: ExternalOption;
|
|
22
|
-
/**
|
|
23
|
-
monorepo?: {
|
|
24
|
-
rootDir: string;
|
|
25
|
-
workspaces: string[];
|
|
26
|
-
};
|
|
60
|
+
/** Опции dotenv. */
|
|
27
61
|
dotenv?: DotenvOptions;
|
|
62
|
+
/** Дополнительные плагины. */
|
|
28
63
|
plugins?: Plugin[];
|
|
29
64
|
}
|
|
30
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Основная функция, возвращающая конфигурацию Rollup.
|
|
67
|
+
* Обрабатывает входные файлы, плагины и настройку выходных путей.
|
|
68
|
+
*
|
|
69
|
+
* @param options - опции конфигурации
|
|
70
|
+
* @returns Объект RollupOptions
|
|
71
|
+
*
|
|
72
|
+
* @since 0.3.0
|
|
73
|
+
*
|
|
74
|
+
**/
|
|
75
|
+
declare function defineRuntimeConfig(options?: RuntimeConfigOptions): Promise<RollupOptions>;
|
|
31
76
|
|
|
32
77
|
export { defineRuntimeConfig as defineConfig, definePackageConfig };
|
package/dist/index.mjs
CHANGED
|
@@ -1,355 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
name: 'del',
|
|
21
|
-
[hook]: async () => {
|
|
22
|
-
if (runOnce && isDeleted)
|
|
23
|
-
return;
|
|
24
|
-
const paths = await deleteAsync(targets, options);
|
|
25
|
-
if (verbose || options.dryRun) {
|
|
26
|
-
const message = options.dryRun
|
|
27
|
-
? `Expected files and folders to be deleted: ${paths.length.toString()}`
|
|
28
|
-
: `Deleted files and folders: ${paths.length.toString()}`;
|
|
29
|
-
console.log(message);
|
|
30
|
-
if (paths.length)
|
|
31
|
-
paths.forEach((path) => {
|
|
32
|
-
console.log(path);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
isDeleted = true;
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Проверка TypeScript выполняется только для первой конфигурации.
|
|
41
|
-
let hasTsChecked = false;
|
|
42
|
-
let typesOutFile;
|
|
43
|
-
function definePackageConfig(options) {
|
|
44
|
-
const { cwd = process.cwd(), external = [], plugins } = options;
|
|
45
|
-
const pkgPath = resolve(cwd, 'package.json');
|
|
46
|
-
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
47
|
-
const { exports: { '.': root } = {} } = pkg;
|
|
48
|
-
typesOutFile = root?.import?.types;
|
|
49
|
-
const externalModules = [
|
|
50
|
-
/node_modules/,
|
|
51
|
-
pkgPath,
|
|
52
|
-
...external,
|
|
53
|
-
];
|
|
54
|
-
const rollupConfigs = [
|
|
55
|
-
createBuildConfig('mjs', {
|
|
56
|
-
cwd,
|
|
57
|
-
external: externalModules,
|
|
58
|
-
output: {
|
|
59
|
-
file: 'dist/index.mjs',
|
|
60
|
-
format: 'es',
|
|
61
|
-
importAttributesKey: 'with',
|
|
62
|
-
}}),
|
|
63
|
-
];
|
|
64
|
-
if (typesOutFile) {
|
|
65
|
-
rollupConfigs.push({
|
|
66
|
-
input: 'dist/dts/index.d.ts',
|
|
67
|
-
external: externalModules,
|
|
68
|
-
plugins: [
|
|
69
|
-
nodeResolve(),
|
|
70
|
-
commonjs(),
|
|
71
|
-
dts(),
|
|
72
|
-
del({
|
|
73
|
-
targets: ['dist/dts'],
|
|
74
|
-
hook: 'closeBundle',
|
|
75
|
-
}),
|
|
76
|
-
],
|
|
77
|
-
output: [{
|
|
78
|
-
file: typesOutFile, format: 'es',
|
|
79
|
-
}],
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
return rollupConfigs;
|
|
83
|
-
}
|
|
84
|
-
function createBuildConfig(buildName, options, plugins = []) {
|
|
85
|
-
const { cwd, external, output } = options;
|
|
86
|
-
output.sourcemap = !!process.env.SOURCE_MAP;
|
|
87
|
-
output.externalLiveBindings = false;
|
|
88
|
-
/\.prod\.[cm]?js$/.test(output.file);
|
|
89
|
-
const tsPlugin = ts({
|
|
90
|
-
tsconfig: resolve(cwd, './tsconfig.build.json'),
|
|
91
|
-
// cacheRoot: resolve(rootDir, './node_modules/.rts2_cache'),
|
|
92
|
-
compilerOptions: {
|
|
93
|
-
noCheck: hasTsChecked,
|
|
94
|
-
declaration: !!typesOutFile,
|
|
95
|
-
declarationDir: typesOutFile ? 'dist/dts' : void 0,
|
|
96
|
-
},
|
|
97
|
-
exclude: [
|
|
98
|
-
'packages/*/tests',
|
|
99
|
-
],
|
|
100
|
-
});
|
|
101
|
-
// При запуске команды build, проверки TS и генерация определений
|
|
102
|
-
// выполняются единожды - для первой конфигурации.
|
|
103
|
-
hasTsChecked = true;
|
|
104
|
-
return {
|
|
105
|
-
input: 'src/index.ts',
|
|
106
|
-
external,
|
|
107
|
-
plugins: [
|
|
108
|
-
tsPlugin,
|
|
109
|
-
createReplacePlugin(),
|
|
110
|
-
nodeResolve(),
|
|
111
|
-
commonjs(),
|
|
112
|
-
...plugins,
|
|
113
|
-
// copy({
|
|
114
|
-
// targets: [
|
|
115
|
-
// { src: 'public/*', dest: 'dist' },
|
|
116
|
-
// ],
|
|
117
|
-
// }),
|
|
118
|
-
],
|
|
119
|
-
output,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
function createReplacePlugin(isProduction, isBundlerEsmBuild, isNodeBuild) {
|
|
123
|
-
const replacements = {
|
|
124
|
-
__DEV__: `(process.env.NODE_ENV !== 'production')`
|
|
125
|
-
,
|
|
126
|
-
__TEST__: `(process.env.NODE_ENV === 'test')`
|
|
127
|
-
,
|
|
128
|
-
};
|
|
129
|
-
// Allow inline overrides like
|
|
130
|
-
// __DEV__=true pnpm build
|
|
131
|
-
Object.keys(replacements).forEach((key) => {
|
|
132
|
-
if (key in process.env)
|
|
133
|
-
replacements[key] = process.env[key];
|
|
134
|
-
});
|
|
135
|
-
return replace({
|
|
136
|
-
preventAssignment: true,
|
|
137
|
-
values: replacements,
|
|
138
|
-
delimiters: ['\\b', '\\b(?![\\.\\:])'],
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// Абсолютный путь к результирующему каталогу.
|
|
143
|
-
const outputDir$1 = path.join(process.cwd(), 'dist');
|
|
144
|
-
const modulesDir = path.join(outputDir$1, 'wb-rules-modules');
|
|
145
|
-
// Расположение обрабатываемого чанка.
|
|
146
|
-
const getChunkDir = (fileName) => path.dirname(path.join(outputDir$1, fileName));
|
|
147
|
-
// Шаблон для отлова конструкций require.
|
|
148
|
-
const patternRequire = /require\(['"]([^'"]+)'\)/g;
|
|
149
|
-
/**
|
|
150
|
-
* Плагин Rollup, перестраивающий пути импорта модулей
|
|
151
|
-
* относительно каталога wb-rules-modules.
|
|
152
|
-
* */
|
|
153
|
-
function wbRulesImports() {
|
|
154
|
-
return {
|
|
155
|
-
name: 'wbRulesImports',
|
|
156
|
-
// Выполняется перед записью содержимого
|
|
157
|
-
// в результирующий файл.
|
|
158
|
-
renderChunk(code, chunk) {
|
|
159
|
-
// Виртуальный каталог не обрабатываем.
|
|
160
|
-
if (chunk.fileName.startsWith('_virtual'))
|
|
161
|
-
return;
|
|
162
|
-
const magicString = new MagicString(code);
|
|
163
|
-
let hasReplacements = false;
|
|
164
|
-
let start;
|
|
165
|
-
let end;
|
|
166
|
-
const chunkDir = getChunkDir(chunk.fileName);
|
|
167
|
-
// Преобразует путь подключения модуля в формат,
|
|
168
|
-
// поддерживаемый контроллером Wirenboard.
|
|
169
|
-
function rebaseRequire(match) {
|
|
170
|
-
// Начальная позиция оригинального вхождения
|
|
171
|
-
start = match.index;
|
|
172
|
-
// Конечная позиция оригинального вхождения
|
|
173
|
-
end = start + match[0].length;
|
|
174
|
-
// Преобразует путь подключаемого модуля в абсолютный,
|
|
175
|
-
// опираясь на каталог с текущим обрабатываемым файлом.
|
|
176
|
-
const requireAbsolutePath = path.resolve(chunkDir, match[1]);
|
|
177
|
-
// Если абсолютный путь начинается с каталога модулей...
|
|
178
|
-
if (requireAbsolutePath.startsWith(modulesDir)) {
|
|
179
|
-
const parsed = path.parse(path.relative(modulesDir, requireAbsolutePath));
|
|
180
|
-
const rebased = path
|
|
181
|
-
.join(parsed.dir, parsed.name)
|
|
182
|
-
.replaceAll(path.sep, path.posix.sep);
|
|
183
|
-
// Удаляет расширение файла для полного соответствия
|
|
184
|
-
// принципам импорта модулей wb-rules.
|
|
185
|
-
const replacement = match[0]
|
|
186
|
-
.replace(match[1], rebased);
|
|
187
|
-
magicString.overwrite(start, end, replacement);
|
|
188
|
-
// Признак произведённой замены.
|
|
189
|
-
return true;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
// Строит полный список конструкций require
|
|
193
|
-
// в обрабатываемом файле.
|
|
194
|
-
const matches = [...code.matchAll(patternRequire)];
|
|
195
|
-
for (const match of matches) {
|
|
196
|
-
if (rebaseRequire(match))
|
|
197
|
-
hasReplacements = true;
|
|
198
|
-
}
|
|
199
|
-
// Если никаких замен не было, то файл пропускается.
|
|
200
|
-
if (!hasReplacements)
|
|
201
|
-
return null;
|
|
202
|
-
return {
|
|
203
|
-
code: magicString.toString(),
|
|
204
|
-
};
|
|
205
|
-
},
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
const env = process.env.NODE_ENV;
|
|
210
|
-
const isProduction = env === 'production';
|
|
211
|
-
const packagesPattern = /(.*)node_modules[\\/]@?(.+)[\\/](.+)?/;
|
|
212
|
-
const modulesPattern = /(?:src[\\/])?wb-rules-modules[\\/](.*)/;
|
|
213
|
-
const scriptsPattern = /(?:src[\\/])?(?:wb-rules[\\/])?(.*)/;
|
|
214
|
-
const outputDir = {
|
|
215
|
-
es5: 'dist/es5',
|
|
216
|
-
};
|
|
217
|
-
function globRelative(path, pattern) {
|
|
218
|
-
const pathParts = path.split('/');
|
|
219
|
-
const patternParts = pattern.split('/');
|
|
220
|
-
let i = 0; // Индекс текущего компонента пути.
|
|
221
|
-
for (let j = 0; j < patternParts.length && i < pathParts.length; j++) {
|
|
222
|
-
switch (patternParts[j]) {
|
|
223
|
-
case '*':
|
|
224
|
-
break;
|
|
225
|
-
case '**':
|
|
226
|
-
while (i < pathParts.length && !pathParts[i].startsWith(patternParts[j + 1])) {
|
|
227
|
-
i += 1; // Пропускаем все элементы пути до следующего элемента шаблона.
|
|
228
|
-
}
|
|
229
|
-
break;
|
|
230
|
-
default:
|
|
231
|
-
if (patternParts[j] === pathParts[i]) {
|
|
232
|
-
i += 1;
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
return void 0; // Несоответствие фиксированного значения.
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return pathParts.slice(i).join('/');
|
|
240
|
-
}
|
|
241
|
-
function tryGetPackageEntry(sourcePath) {
|
|
242
|
-
const pathParts = [];
|
|
243
|
-
do {
|
|
244
|
-
const match = packagesPattern.exec(sourcePath);
|
|
245
|
-
if (!match)
|
|
246
|
-
break;
|
|
247
|
-
if (match[3])
|
|
248
|
-
pathParts.unshift(match[3]);
|
|
249
|
-
pathParts.unshift('packages/' + match[2].replace(/\/dist$/, ''));
|
|
250
|
-
sourcePath = match[1];
|
|
251
|
-
} while (sourcePath);
|
|
252
|
-
if (pathParts.length)
|
|
253
|
-
return `wb-rules-modules/${pathParts.join('/')}.js`;
|
|
254
|
-
}
|
|
255
|
-
function tryGetModuleEntry(sourcePath) {
|
|
256
|
-
const match = modulesPattern.exec(sourcePath);
|
|
257
|
-
if (!match)
|
|
258
|
-
return;
|
|
259
|
-
// if ((process.env.NODE_ENV !== 'production'))
|
|
260
|
-
// console.debug(`Module Entry: ${entry}`)
|
|
261
|
-
return `wb-rules-modules/${match[1]}.js`;
|
|
262
|
-
}
|
|
263
|
-
function tryGetScriptEntry(sourcePath) {
|
|
264
|
-
const match = scriptsPattern.exec(sourcePath);
|
|
265
|
-
if (!match)
|
|
266
|
-
return;
|
|
267
|
-
// if ((process.env.NODE_ENV !== 'production'))
|
|
268
|
-
// console.debug(`Script Entry: ${entry}`)
|
|
269
|
-
return `wb-rules/${match[1]}.js`;
|
|
270
|
-
}
|
|
271
|
-
function getEntry(path) {
|
|
272
|
-
if (path.startsWith('_virtual'))
|
|
273
|
-
return path;
|
|
274
|
-
return tryGetPackageEntry(path) ?? tryGetModuleEntry(path) ?? tryGetScriptEntry(path)
|
|
275
|
-
// None of the above matched.
|
|
276
|
-
?? path;
|
|
277
|
-
}
|
|
278
|
-
function defineRuntimeConfig(options = {}) {
|
|
279
|
-
const { cwd = process.cwd(), external, monorepo, dotenv: dotenvOptions = {}, plugins = [], } = options;
|
|
280
|
-
const rootDir = monorepo?.rootDir;
|
|
281
|
-
const defaultPlugins = [
|
|
282
|
-
del({
|
|
283
|
-
targets: 'dist/*',
|
|
284
|
-
}),
|
|
285
|
-
multi({
|
|
286
|
-
exclude: ['src/wb-rules/*.disabled.[jt]s'],
|
|
287
|
-
preserveModules: true,
|
|
288
|
-
}),
|
|
289
|
-
nodeResolve(),
|
|
290
|
-
ts$1({
|
|
291
|
-
cacheRoot: rootDir
|
|
292
|
-
? nodePath.resolve(rootDir, './node_modules/.rts2_cache')
|
|
293
|
-
: void 0,
|
|
294
|
-
}),
|
|
295
|
-
wbRulesImports(),
|
|
296
|
-
dotenv(dotenvOptions),
|
|
297
|
-
replace({
|
|
298
|
-
preventAssignment: true,
|
|
299
|
-
values: {
|
|
300
|
-
__DEV__: JSON.stringify(!isProduction),
|
|
301
|
-
// Автоматически меняется в процессе тестирования
|
|
302
|
-
__TEST__: 'false',
|
|
303
|
-
},
|
|
304
|
-
}),
|
|
305
|
-
getBabelOutputPlugin({
|
|
306
|
-
presets: ['@babel/preset-env'],
|
|
307
|
-
plugins: [
|
|
308
|
-
'@babel/plugin-transform-spread',
|
|
309
|
-
'array-includes',
|
|
310
|
-
],
|
|
311
|
-
}),
|
|
312
|
-
del({
|
|
313
|
-
targets: 'dist/*/_virtual',
|
|
314
|
-
hook: 'closeBundle',
|
|
315
|
-
}),
|
|
316
|
-
];
|
|
317
|
-
return {
|
|
318
|
-
input: 'src/wb-rules/*.[jt]s',
|
|
319
|
-
external,
|
|
320
|
-
plugins: [
|
|
321
|
-
...defaultPlugins,
|
|
322
|
-
...plugins,
|
|
323
|
-
],
|
|
324
|
-
output: {
|
|
325
|
-
format: 'cjs',
|
|
326
|
-
strict: false,
|
|
327
|
-
dir: outputDir.es5,
|
|
328
|
-
preserveModules: true,
|
|
329
|
-
entryFileNames(chunkInfo) {
|
|
330
|
-
let chunkName = chunkInfo.name;
|
|
331
|
-
if (monorepo) {
|
|
332
|
-
const { rootDir, workspaces } = monorepo;
|
|
333
|
-
const absolutePath = nodePath.resolve(rootDir, chunkInfo.name);
|
|
334
|
-
if (absolutePath.startsWith(cwd)) {
|
|
335
|
-
chunkName = nodePath
|
|
336
|
-
.relative(cwd, absolutePath);
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
for (const workspace of workspaces) {
|
|
340
|
-
const maybeChunkName = globRelative(chunkName, workspace);
|
|
341
|
-
if (maybeChunkName) {
|
|
342
|
-
// Обманка для упрощённого встраивания в packages.
|
|
343
|
-
chunkName = 'node_modules/' + maybeChunkName;
|
|
344
|
-
break;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
return getEntry(chunkName);
|
|
350
|
-
},
|
|
351
|
-
},
|
|
352
|
-
};
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
export { defineRuntimeConfig as defineConfig, definePackageConfig };
|
|
1
|
+
export { a as defineConfig, d as definePackageConfig } from './runtime.mjs';
|
|
2
|
+
import '@rollup/plugin-typescript';
|
|
3
|
+
import '@rollup/plugin-node-resolve';
|
|
4
|
+
import '@rollup/plugin-commonjs';
|
|
5
|
+
import '@rollup/plugin-replace';
|
|
6
|
+
import 'rollup-plugin-copy';
|
|
7
|
+
import 'rollup-plugin-dts';
|
|
8
|
+
import 'typescript';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import '@rollup/plugin-multi-entry';
|
|
11
|
+
import 'rollup-plugin-typescript2';
|
|
12
|
+
import '@dotenv-run/rollup';
|
|
13
|
+
import '@rollup/plugin-babel';
|
|
14
|
+
import 'del';
|
|
15
|
+
import 'path';
|
|
16
|
+
import 'magic-string';
|
|
17
|
+
import '@pnpm/find-workspace-dir';
|
|
18
|
+
import '@pnpm/workspace.find-packages';
|
|
19
|
+
import 'fs';
|