From 4f0b80bef5ce78aada0f307f3e5d29f5f4fea4ee Mon Sep 17 00:00:00 2001 From: Vadim Ogievetsky Date: Tue, 23 Jul 2024 21:28:59 -0700 Subject: [PATCH] Web console: change to use @fontsource/open-sans (#16786) * change to use @fontsource/open-sans * import locale directly * update check license --- licenses.yaml | 20 ++-- licenses/bin/@fontsource-open-sans.OFL | 93 +++++++++++++++++++ web-console/package-lock.json | 23 +++-- web-console/package.json | 4 +- web-console/script/licenses | 5 + .../segment-timeline/segment-timeline.tsx | 2 +- web-console/src/entry.scss | 3 +- 7 files changed, 124 insertions(+), 26 deletions(-) create mode 100644 licenses/bin/@fontsource-open-sans.OFL diff --git a/licenses.yaml b/licenses.yaml index 03565a14660..dcdac7bd187 100644 --- a/licenses.yaml +++ b/licenses.yaml @@ -5197,6 +5197,16 @@ license_file_path: licenses/bin/@emotion-weak-memoize.MIT --- +name: "@fontsource/open-sans" +license_category: binary +module: web-console +license_name: SIL Open Font License 1.1 +copyright: Google Inc. +version: 5.0.28 +license_file_path: licenses/bin/@fontsource-open-sans.OFL + +--- + name: "@juggle/resize-observer" license_category: binary module: web-console @@ -5743,16 +5753,6 @@ license_file_path: licenses/bin/follow-redirects.MIT --- -name: "fontsource-open-sans" -license_category: binary -module: web-console -license_name: MIT License -copyright: Lotus -version: 3.0.9 -license_file_path: licenses/bin/fontsource-open-sans.MIT - ---- - name: "form-data" license_category: binary module: web-console diff --git a/licenses/bin/@fontsource-open-sans.OFL b/licenses/bin/@fontsource-open-sans.OFL new file mode 100644 index 00000000000..d5e5ab592f4 --- /dev/null +++ b/licenses/bin/@fontsource-open-sans.OFL @@ -0,0 +1,93 @@ +Copyright 2020 The Open Sans Project Authors (https://github.com/googlefonts/opensans) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/web-console/package-lock.json b/web-console/package-lock.json index c7c7d271ce7..412f728d56d 100644 --- a/web-console/package-lock.json +++ b/web-console/package-lock.json @@ -17,6 +17,7 @@ "@druid-toolkit/query": "^0.22.20", "@druid-toolkit/visuals-core": "^0.3.3", "@druid-toolkit/visuals-react": "^0.3.3", + "@fontsource/open-sans": "^5.0.28", "ace-builds": "~1.4.14", "axios": "^1.6.7", "chronoshift": "^0.10.0", @@ -31,7 +32,6 @@ "date-fns": "^2.28.0", "echarts": "^5.4.3", "file-saver": "^2.0.5", - "fontsource-open-sans": "^3.0.9", "hjson": "^3.2.2", "json-bigint-native": "^1.2.0", "lodash.debounce": "^4.0.8", @@ -1219,6 +1219,11 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@fontsource/open-sans": { + "version": "5.0.28", + "resolved": "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-5.0.28.tgz", + "integrity": "sha512-hBvJHY76pJT/JynGUB5EXWhnzjYfLdcMn655J5p1v9lTT9HdQSy+keq2KPVXO2Htlg998BBa3p6u/jlrZ6w0kg==" + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -7455,12 +7460,6 @@ } } }, - "node_modules/fontsource-open-sans": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/fontsource-open-sans/-/fontsource-open-sans-3.0.9.tgz", - "integrity": "sha512-NEgZAgtpvz7iYZ/IlojOOy6hRLaLmxnxzEKYXnq0KU/X8lb9cD7d0XImykhfksK1/JZ6xyKQKjYq4PycHQZK9w==", - "deprecated": "Package relocated. Please install and migrate to @fontsource/open-sans." - }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -19281,6 +19280,11 @@ "integrity": "sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==", "dev": true }, + "@fontsource/open-sans": { + "version": "5.0.28", + "resolved": "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-5.0.28.tgz", + "integrity": "sha512-hBvJHY76pJT/JynGUB5EXWhnzjYfLdcMn655J5p1v9lTT9HdQSy+keq2KPVXO2Htlg998BBa3p6u/jlrZ6w0kg==" + }, "@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -24137,11 +24141,6 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, - "fontsource-open-sans": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/fontsource-open-sans/-/fontsource-open-sans-3.0.9.tgz", - "integrity": "sha512-NEgZAgtpvz7iYZ/IlojOOy6hRLaLmxnxzEKYXnq0KU/X8lb9cD7d0XImykhfksK1/JZ6xyKQKjYq4PycHQZK9w==" - }, "for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", diff --git a/web-console/package.json b/web-console/package.json index b45b1bdb865..0c9370f8808 100644 --- a/web-console/package.json +++ b/web-console/package.json @@ -45,7 +45,7 @@ "prettify": "prettier --write '{src,e2e-tests}/**/*.{ts,tsx,scss}' './*.js'", "prettify-check": "prettier --check '{src,e2e-tests}/**/*.{ts,tsx,scss}' './*.js'", "generate-licenses-file": "license-checker --production --json --out licenses.json", - "check-licenses": "license-checker --production --onlyAllow 'Apache-1.1;Apache-2.0;BSD-2-Clause;BSD-3-Clause;0BSD;MIT;ISC;CC0-1.0' --summary", + "check-licenses": "license-checker --production --onlyAllow 'Apache-1.1;Apache-2.0;BSD-2-Clause;BSD-3-Clause;0BSD;MIT;ISC;CC0-1.0;OFL-1.1' --summary", "start": "webpack serve" }, "engines": { @@ -71,6 +71,7 @@ "@druid-toolkit/query": "^0.22.20", "@druid-toolkit/visuals-core": "^0.3.3", "@druid-toolkit/visuals-react": "^0.3.3", + "@fontsource/open-sans": "^5.0.28", "ace-builds": "~1.4.14", "axios": "^1.6.7", "chronoshift": "^0.10.0", @@ -85,7 +86,6 @@ "date-fns": "^2.28.0", "echarts": "^5.4.3", "file-saver": "^2.0.5", - "fontsource-open-sans": "^3.0.9", "hjson": "^3.2.2", "json-bigint-native": "^1.2.0", "lodash.debounce": "^4.0.8", diff --git a/web-console/script/licenses b/web-console/script/licenses index 1dc820b94c1..90f1420282a 100755 --- a/web-console/script/licenses +++ b/web-console/script/licenses @@ -139,6 +139,11 @@ checker.init( licenseExt = '0BSD'; break; + case 'OFL-1.1': + properLicenseName = 'SIL Open Font License 1.1'; + licenseExt = 'OFL'; + break; + default: throw new Error(`Unknown license '${licenses}' in ${p}`); } diff --git a/web-console/src/components/segment-timeline/segment-timeline.tsx b/web-console/src/components/segment-timeline/segment-timeline.tsx index 7527b801763..0ea19555bfc 100644 --- a/web-console/src/components/segment-timeline/segment-timeline.tsx +++ b/web-console/src/components/segment-timeline/segment-timeline.tsx @@ -24,7 +24,7 @@ import type { ItemPredicate, ItemRenderer } from '@blueprintjs/select'; import { Select } from '@blueprintjs/select'; import type { AxisScale } from 'd3-axis'; import { scaleLinear, scaleUtc } from 'd3-scale'; -import { enUS } from 'date-fns/locale'; +import enUS from 'date-fns/locale/en-US'; import React from 'react'; import type { Capabilities } from '../../helpers'; diff --git a/web-console/src/entry.scss b/web-console/src/entry.scss index dd2b13e4978..3893d7ccbee 100644 --- a/web-console/src/entry.scss +++ b/web-console/src/entry.scss @@ -17,7 +17,8 @@ */ @import 'normalize.css/normalize'; -@import 'fontsource-open-sans/index.css'; +@import '@fontsource/open-sans/400.css'; // Normal +@import '@fontsource/open-sans/700.css'; // Bold @import './blueprint-overrides'; @import '@blueprintjs/core/src/blueprint'; @import '@blueprintjs/datetime/src/blueprint-datetime';