Files
n8n-enterprise-unlocked/packages/nodes-base/tsup.config.ts
कारतोफ्फेलस्क्रिप्ट™ 58b1cee153 ci: Update project references for backend and nodes packages (no-changelog) (#14308)
2025-04-01 12:24:45 +02:00

63 lines
1.6 KiB
TypeScript

import { defineConfig } from 'tsup';
import glob from 'fast-glob';
import { resolve } from 'path';
import { readFile } from 'fs/promises';
const packagesDir = resolve(__dirname, '..');
const aiNodesDir = resolve(packagesDir, '@n8n', 'nodes-langchain');
const cliDir = resolve(packagesDir, 'cli');
const externalFiles = [
...(await glob('nodes/**/*.ts', { cwd: aiNodesDir, absolute: true })),
...(await glob('test/integration/**/*.ts', { cwd: cliDir, absolute: true })),
];
const externalFilesContents = externalFiles.map((filePath) => readFile(filePath, 'utf-8'));
// Files used in other packages
const externalPackageImports = (await Promise.all(externalFilesContents)).reduce(
(acc, fileContents) => {
const regex = /from\s+['"](n8n-nodes-base[^'"]+)['"]/g;
let match;
while ((match = regex.exec(fileContents)) !== null) {
acc.add(match[1]);
}
return acc;
},
new Set<string>(),
);
const externalPackageDependencies = Array.from(externalPackageImports).map(
(i) => i.replace(/^n8n-nodes-base\/(dist\/)?/, '') + '.ts',
);
const commonIgnoredFiles = ['!**/*.d.ts', '!**/*.test.ts'];
export default defineConfig([
{
entry: [
'{credentials,nodes,test,types,utils}/**/*.ts',
...commonIgnoredFiles,
...externalPackageDependencies.map((path) => `!${path}`),
],
format: ['cjs'],
dts: false,
bundle: false,
sourcemap: true,
silent: true,
},
{
entry: [...externalPackageDependencies, ...commonIgnoredFiles],
format: ['cjs'],
dts: {
compilerOptions: {
composite: false,
},
},
bundle: false,
sourcemap: true,
silent: true,
},
]);