blob: 21fab5322ee9b9c2dc41ba5fb5659cd78920fbce [file] [log] [blame]
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
// Ugly import path due to the following bugs:
// https://github.com/bazelbuild/rules_nodejs/issues/1522
// https://github.com/bazelbuild/rules_nodejs/issues/1380
import {
PackageInfo,
LicenseType,
LicenseInfo,
} from '../../../tools/node_tools/node_modules_licenses/package-license-info';
import * as path from 'path';
class LicenseTypes {
public static Mit: LicenseType = {
name: 'MIT',
allowed: true,
};
public static Apache2_0: LicenseType = {
name: 'Apache 2.0',
allowed: true,
};
public static Bsd3: LicenseType = {
name: 'BSD-3-Clause',
allowed: true,
};
public static BsdZeroClause: LicenseType = {
name: 'BSD-Zero-Clause',
allowed: true,
};
}
/** List of licenses texts. Add the licenses here if there is no text file with license
* in package. For details - see comments for {@link LicenseInfo} and {@link PackageInfo} */
class SharedLicenses {
public static Lit: LicenseInfo = {
name: 'Lit',
type: LicenseTypes.Bsd3,
sharedLicenseFile: 'lit.txt',
};
public static Polymer2014: LicenseInfo = {
name: 'Polymer-2014',
type: LicenseTypes.Bsd3,
sharedLicenseFile: 'polymer-2014.txt',
};
public static Polymer2015: LicenseInfo = {
name: 'Polymer-2015',
type: LicenseTypes.Bsd3,
sharedLicenseFile: 'polymer-2015.txt',
};
public static Polymer2016: LicenseInfo = {
name: 'Polymer-2016',
type: LicenseTypes.Bsd3,
sharedLicenseFile: 'polymer-2016.txt',
};
public static Polymer2017: LicenseInfo = {
name: 'Polymer-2017',
type: LicenseTypes.Bsd3,
sharedLicenseFile: 'polymer-2017.txt',
};
public static Polymer2018: LicenseInfo = {
name: 'Polymer-2018',
type: LicenseTypes.Bsd3,
sharedLicenseFile: 'polymer-2018.txt',
};
public static IsArray: LicenseInfo = {
name: 'isarray',
type: LicenseTypes.Mit,
sharedLicenseFile: 'isarray.txt',
};
public static Page: LicenseInfo = {
name: 'page',
type: LicenseTypes.Mit,
sharedLicenseFile: 'page.txt',
};
}
const fontsRobotoFilter = (fileName: string) =>
fileName.startsWith('fonts/roboto/') &&
path.basename(fileName) !== 'DESCRIPTION.en_us.html';
const fontsRobotomonoFilter = (fileName: string) =>
fileName.startsWith('fonts/robotomono/') &&
path.basename(fileName) !== 'DESCRIPTION.en_us.html';
const packages: PackageInfo[] = [
{
name: '@lit/reactive-element',
license: SharedLicenses.Lit,
},
{
name: '@lit-labs/ssr-dom-shim',
license: SharedLicenses.Lit,
},
{
name: '@polymer/decorators',
license: SharedLicenses.Polymer2017,
},
{
name: '@polymer/font-roboto',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/font-roboto-local',
license: SharedLicenses.Polymer2015,
filesFilter: fileName =>
!fontsRobotoFilter(fileName) && !fontsRobotomonoFilter(fileName),
},
{
name: '@polymer/font-roboto-local',
license: {
name: 'font-roboto-local-fonts-roboto',
type: LicenseTypes.Apache2_0,
packageLicenseFile: 'fonts/roboto/LICENSE.txt',
},
filesFilter: fontsRobotoFilter,
},
{
name: '@polymer/font-roboto-local',
license: {
name: 'font-roboto-local-fonts-robotomono',
type: LicenseTypes.Apache2_0,
packageLicenseFile: 'fonts/robotomono/LICENSE.txt',
},
filesFilter: fontsRobotomonoFilter,
},
{
name: '@polymer/iron-a11y-announcer',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-a11y-keys-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-autogrow-textarea',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-behaviors',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-checked-element-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-dropdown',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-fit-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-flex-layout',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-form-element-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-icon',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-iconset-svg',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-image',
license: SharedLicenses.Polymer2016,
},
{
name: '@polymer/iron-input',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-menu-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-meta',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-overlay-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-resizable-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-selector',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/iron-validatable-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/marked-element',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/neon-animation',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-behaviors',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-button',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-card',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-checkbox',
license: SharedLicenses.Polymer2016,
},
{
name: '@polymer/paper-dialog',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-dialog-behavior',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-dialog-scrollable',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-dropdown-menu',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-fab',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-icon-button',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-input',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-item',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-listbox',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-menu-button',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-ripple',
license: SharedLicenses.Polymer2014,
},
{
name: '@polymer/paper-styles',
license: SharedLicenses.Polymer2014,
},
{
name: '@polymer/paper-tabs',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-toggle-button',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/paper-tooltip',
license: SharedLicenses.Polymer2015,
},
{
name: '@polymer/polymer',
license: SharedLicenses.Polymer2017,
},
{
name: '@types/resemblejs',
license: {
name: 'DefinitelyTyped',
type: LicenseTypes.Mit,
packageLicenseFile: 'LICENSE',
},
},
{
name: '@types/resize-observer-browser',
license: {
name: 'DefinitelyTyped',
type: LicenseTypes.Mit,
packageLicenseFile: 'LICENSE',
},
},
{
name: '@types/trusted-types',
license: {
name: 'DefinitelyTyped',
type: LicenseTypes.Mit,
packageLicenseFile: 'LICENSE',
},
},
{
name: '@webcomponents/shadycss',
license: SharedLicenses.Polymer2017,
},
{
name: '@webcomponents/webcomponentsjs',
license: SharedLicenses.Polymer2018,
},
{
name: 'isarray',
license: SharedLicenses.IsArray,
},
{
name: 'page',
license: SharedLicenses.Page,
},
{
name: 'shadow-selection-polyfill',
license: {
name: 'shadow-selection-polyfill',
type: LicenseTypes.Apache2_0,
packageLicenseFile: 'LICENSE',
},
},
{
name: 'path-to-regexp',
license: {
name: 'path-to-regexp',
type: LicenseTypes.Mit,
packageLicenseFile: 'LICENSE',
},
},
{
name: 'polymer-resin',
license: SharedLicenses.Polymer2018,
},
{
name: 'polymer-bridges',
license: SharedLicenses.Polymer2018,
},
{
name: 'polygerrit-gr-page',
license: SharedLicenses.Page,
},
{
name: 'web-vitals',
license: {
name: 'web-vitals',
type: LicenseTypes.Apache2_0,
packageLicenseFile: 'LICENSE',
},
},
{
name: 'rxjs',
license: {
name: 'rxjs',
type: LicenseTypes.Apache2_0,
packageLicenseFile: 'LICENSE.txt',
},
// The following directories are not real packages, but contains package.json
nonPackages: [
'ajax',
'fetch',
'internal-compatibility',
'operators',
'testing',
'webSocket',
'src/ajax',
'src/fetch',
'src/internal-compatibility',
'src/operators',
'src/testing',
'src/webSocket',
],
},
{
name: 'lit',
license: SharedLicenses.Lit,
},
{
name: 'lit-element',
license: SharedLicenses.Lit,
},
{
name: 'lit-html',
license: SharedLicenses.Lit,
},
{
name: 'tslib',
license: {
name: 'tslib',
type: LicenseTypes.BsdZeroClause,
packageLicenseFile: 'LICENSE.txt',
},
nonPackages: ['modules', 'test/validateModuleExportsMatchCommonJS'],
},
{
name: 'resemblejs',
license: {
name: 'resemblejs',
type: LicenseTypes.Mit,
packageLicenseFile: 'LICENSE',
},
},
{
name: 'immer',
license: {
name: 'immer',
type: LicenseTypes.Mit,
packageLicenseFile: 'LICENSE',
},
},
{
name: 'highlight.js',
license: {
name: 'highlight.js',
type: LicenseTypes.Bsd3,
packageLicenseFile: 'LICENSE',
},
nonPackages: ['es'],
},
{
name: 'highlightjs-closure-templates',
license: {
name: 'highlightjs-closure-templates',
type: LicenseTypes.Bsd3,
packageLicenseFile: 'LICENSE',
},
},
{
name: 'highlightjs-epp',
license: {
name: 'highlightjs-epp',
type: LicenseTypes.Bsd3,
packageLicenseFile: 'LICENSE',
},
},
{
name: 'highlightjs-structured-text',
license: {
name: 'highlightjs-structured-text',
type: LicenseTypes.Bsd3,
packageLicenseFile: 'LICENSE',
},
},
{
name: 'marked',
license: {
name: 'marked',
type: LicenseTypes.Mit,
packageLicenseFile: 'LICENSE.md',
},
},
{
name: 'safevalues',
license: {
name: 'safevalues',
type: LicenseTypes.Apache2_0,
packageLicenseFile: 'LICENSE',
},
},
];
export default packages;