1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-27 10:32:58 +02:00
joplin/packages/tools/licenses/licenseOverrides/index.ts
Henry Heino 02bdb7a79c
Docs: Include dependency overview (#10911)
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2024-08-22 21:53:27 +01:00

93 lines
2.7 KiB
TypeScript

import { DependencyType } from '../getLicenses';
import mitLicense from '../licenseText/mit';
import fontAwesomeOverride from './fontAwesomeOverride';
import fontIsoOverride from './fontIsoOverride';
import materialCommunityIconsOverride from './materialCommunityIconsOverride';
import materialIconsOverride from './materialIconsOverride';
import { LicenseOverride, LicenseOverrides } from './types';
const exclude = (packageRegex: RegExp, mode: DependencyType): LicenseOverride => {
return {
replacePackagesMatching: packageRegex,
info: null,
packageName: `${packageRegex}`,
mode,
};
};
const excludeDevelopment = (packageRegex: RegExp) => exclude(packageRegex, DependencyType.Development);
const mitLicenseOverride = (
packageName: string,
packageRepo: `https://${string}`,
copyright: string,
replaceMatching: RegExp|null = null,
): LicenseOverride => {
return {
packageName: packageName,
replacePackagesMatching: replaceMatching,
mode: DependencyType.Production,
info: {
licenses: 'MIT',
repository: packageRepo,
licenseText: mitLicense(copyright),
path: null,
},
};
};
const allPackageOverrides: LicenseOverride[] = [
// fb-watchman and bser are both dev dependencies and actually MIT-licensed (when the
// LICENSE file and code comments in the repository were changed, the package.json's
// license field was not changed).
excludeDevelopment(/^fb-watchman/),
excludeDevelopment(/^bser/),
mitLicenseOverride(
'tkwidgets',
'https://github.com/laurent22/tkwidgets',
'2017-2018 Laurent Cozic',
/^tkwidgets[@]?.*$/,
),
];
const licenseOverrides: LicenseOverrides = {
// react-native-vector-icons depends on several packages
// implicitly. We need to include them here.
//
// See https://github.com/oblador/react-native-vector-icons#bundled-icon-sets
'app-mobile': [
// antIcons: Licensed under the MIT
mitLicenseOverride(
'ant icons',
'https://github.com/ant-design/ant-design/blob/master/LICENSE',
'2015-present Ant UED, https://xtech.antfin.com/',
),
// entypo: License unknown DO NOT USE!!!
// evilIcons: MIT, unused
// featherIcons: MIT, unused
fontAwesomeOverride,
fontIsoOverride,
// Foundation icons: UNKNOWN. DO NOT USE!!!
mitLicenseOverride(
'ionicon icons',
'https://github.com/ionic-team/ionicons/blob/main/LICENSE',
'2015-present Ionic (http://ionic.io/)',
),
materialCommunityIconsOverride,
materialIconsOverride,
// Octicons: Seems to be MIT, unused
// Zocial icons: Mostly MIT, one icon under CC BY. Do not use without attributing
// Simple line icons: MIT, unused
...allPackageOverrides,
],
'app-desktop': [
...allPackageOverrides,
],
'app-cli': [
...allPackageOverrides,
],
};
export default licenseOverrides;