From 384356e5d76e3da3822bb2a5186d21d498822ab7 Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Tue, 28 Jul 2026 16:07:10 +0200 Subject: [PATCH] chore(licenses): add script to generate the license files Added a script to generate the license files for the development dependencies and the production dependencies. --- scripts/generate-license-files.js | 58 +++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 scripts/generate-license-files.js diff --git a/scripts/generate-license-files.js b/scripts/generate-license-files.js new file mode 100755 index 0000000..b4333f7 --- /dev/null +++ b/scripts/generate-license-files.js @@ -0,0 +1,58 @@ +#!/usr/bin/env node + +/* +Copyright 2026 Seekra + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import fs from 'node:fs/promises'; +import { generateLicenseFile } from 'generate-license-file'; + +const packageJson = './package.json'; +const packageJsonBackup = `${packageJson}~`; + +await generateLicenseFile( + packageJson, + 'THIRD_PARTY_LICENSES' +); + +const pkg = JSON.parse( + await fs.readFile(packageJson, 'utf-8') +); + +await fs.rename(packageJson, packageJsonBackup); + +const devPackage = { + ...pkg, + dependencies: pkg.devDependencies ?? {}, + devDependencies: {} +}; + +/* + The file including the dependencies for the current license file has + to be always package.json due to a bug of generate-license file. See + + https://github.com/TobyAndToby/generate-license-file/issues/752 +*/ +await fs.writeFile( + packageJson, + JSON.stringify(devPackage) +); + +await generateLicenseFile( + packageJson, + './THIRD_PARTY_LICENSES_DEV' +); + +await fs.rename(packageJsonBackup, packageJson); \ No newline at end of file