mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-27 05:29:42 -08:00
45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
import { writeFile, readFile, copyFile } from 'fs/promises';
|
|
import { resolve, dirname } from 'path';
|
|
import child_process from 'child_process';
|
|
import { fileURLToPath } from 'url';
|
|
import { promisify } from 'util';
|
|
|
|
const exec = promisify(child_process.exec);
|
|
|
|
const commonFiles = ['LICENSE.md', 'LICENSE_EE.md'];
|
|
|
|
const baseDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..');
|
|
const packages = JSON.parse((await exec('pnpm ls -r --only-projects --json')).stdout);
|
|
|
|
for (let { name, path, version, private: isPrivate } of packages) {
|
|
if (isPrivate) continue;
|
|
|
|
const packageFile = resolve(path, 'package.json');
|
|
const packageJson = {
|
|
...JSON.parse(await readFile(packageFile, 'utf-8')),
|
|
// Add these fields to all published package.json files to ensure provenance checks pass
|
|
license: 'SEE LICENSE IN LICENSE.md',
|
|
homepage: 'https://n8n.io',
|
|
author: {
|
|
name: 'Jan Oberhauser',
|
|
email: 'jan@n8n.io',
|
|
},
|
|
repository: {
|
|
type: 'git',
|
|
url: 'git+https://github.com/n8n-io/n8n.git',
|
|
},
|
|
};
|
|
|
|
// Copy over LICENSE.md and LICENSE_EE.md into every published package, and ensure they get included in the published package
|
|
await Promise.all(
|
|
commonFiles.map(async (file) => {
|
|
await copyFile(resolve(baseDir, file), resolve(path, file));
|
|
if (packageJson.files && !packageJson.files.includes(file)) {
|
|
packageJson.files.push(file);
|
|
}
|
|
}),
|
|
);
|
|
|
|
await writeFile(packageFile, JSON.stringify(packageJson, null, 2) + '\n');
|
|
}
|