mirror of
https://github.com/tormachris/cf-workers-status-page.git
synced 2025-09-21 16:35:15 +02:00
Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
66bab8d9c7 | |||
81b35546c3 | |||
596d30389f | |||
1189e708da | |||
de0cfaf504 | |||
f0b27a8446 | |||
a8cfe25c9a | |||
df64cdc113 | |||
d87223f292 | |||
a5a65a7582 | |||
23673587c2 | |||
fa9d865cc1 | |||
0fac88d7f8 | |||
7a9a2f90ef | |||
c337b55c37 | |||
f0a4974e92 | |||
cb15831994 | |||
2868f9820c | |||
48d78d117a | |||
c7f642cd8c | |||
54bdd42fc1 | |||
bbf9def61f | |||
ccec34ff5d | |||
ee586c9e64 | |||
8d70a0f992 |
4
.github/FUNDING.yml
vendored
Normal file
4
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: eidam
|
||||
ko_fi: eidam
|
3
.github/workflows/deploy.yml
vendored
3
.github/workflows/deploy.yml
vendored
@ -34,15 +34,18 @@ jobs:
|
||||
[ -z "$SECRET_SLACK_WEBHOOK_URL" ] && echo "Secret SECRET_SLACK_WEBHOOK_URL not set, creating dummy one..." && SECRET_SLACK_WEBHOOK_URL="default-gh-action-secret" || true
|
||||
[ -z "$SECRET_TELEGRAM_API_TOKEN" ] && echo "Secret SECRET_TELEGRAM_API_TOKEN not set, creating dummy one..." && SECRET_TELEGRAM_API_TOKEN="default-gh-action-secret" || true
|
||||
[ -z "$SECRET_TELEGRAM_CHAT_ID" ] && echo "Secret SECRET_TELEGRAM_CHAT_ID not set, creating dummy one..." && SECRET_TELEGRAM_CHAT_ID="default-gh-action-secret" || true
|
||||
[ -z "$SECRET_DISCORD_WEBHOOK_URL" ] && echo "Secret SECRET_DISCORD_WEBHOOK_URL not set, creating dummy one..." && SECRET_DISCORD_WEBHOOK_URL="default-gh-action-secret" || true
|
||||
postCommands: |
|
||||
yarn kv-gc
|
||||
secrets: |
|
||||
SECRET_SLACK_WEBHOOK_URL
|
||||
SECRET_TELEGRAM_API_TOKEN
|
||||
SECRET_TELEGRAM_CHAT_ID
|
||||
SECRET_DISCORD_WEBHOOK_URL
|
||||
environment: production
|
||||
env:
|
||||
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
||||
SECRET_SLACK_WEBHOOK_URL: ${{secrets.SECRET_SLACK_WEBHOOK_URL}}
|
||||
SECRET_TELEGRAM_API_TOKEN: ${{secrets.SECRET_TELEGRAM_API_TOKEN}}
|
||||
SECRET_TELEGRAM_CHAT_ID: ${{secrets.SECRET_TELEGRAM_CHAT_ID}}
|
||||
SECRET_DISCORD_WEBHOOK_URL: ${{secrets.SECRET_DISCORD_WEBHOOK_URL}}
|
||||
|
58
README.md
58
README.md
@ -19,6 +19,7 @@ Also, prepare the following secrets
|
||||
|
||||
- Cloudflare API token with `Edit Cloudflare Workers` permissions
|
||||
- Slack incoming webhook \(optional\)
|
||||
- Discord incoming webhook \(optional\)
|
||||
|
||||
## Getting started
|
||||
|
||||
@ -38,6 +39,9 @@ You can either deploy with **Cloudflare Deploy Button** using GitHub Actions or
|
||||
|
||||
- Name: SECRET_SLACK_WEBHOOK_URL (optional)
|
||||
- Value: your-slack-webhook-url
|
||||
|
||||
- Name: SECRET_DISCORD_WEBHOOK_URL (optional)
|
||||
- Value: your-discord-webhook-url
|
||||
```
|
||||
|
||||
3. Navigate to the **Actions** settings in your repository and enable them
|
||||
@ -46,7 +50,7 @@ You can either deploy with **Cloudflare Deploy Button** using GitHub Actions or
|
||||
```yaml
|
||||
settings:
|
||||
title: 'Status Page'
|
||||
url: 'https://status-page.eidam.dev' # used for Slack messages
|
||||
url: 'https://status-page.eidam.dev' # used for Slack & Discord messages
|
||||
logo: logo-192x192.png # image in ./public/ folder
|
||||
daysInHistogram: 90 # number of days you want to display in histogram
|
||||
collectResponseTimes: false # experimental feature, enable only for <5 monitors or on paid plans
|
||||
@ -70,6 +74,7 @@ You can either deploy with **Cloudflare Deploy Button** using GitHub Actions or
|
||||
method: GET # default=GET
|
||||
expectStatus: 200 # operational status, default=200
|
||||
followRedirect: false # should fetch follow redirects, default=false
|
||||
linkable: false # should the titles be links to the service, default=true
|
||||
```
|
||||
|
||||
5. Push to `main` branch to trigger the deployment
|
||||
@ -96,6 +101,7 @@ You can clone the repository yourself and use Wrangler CLI to develop/deploy, ex
|
||||
- create KV namespace and add the `KV_STATUS_PAGE` binding to [wrangler.toml](./wrangler.toml)
|
||||
- create Worker secrets _\(optional\)_
|
||||
- `SECRET_SLACK_WEBHOOK_URL`
|
||||
- `SECRET_DISCORD_WEBHOOK_URL`
|
||||
|
||||
## Workers KV free tier
|
||||
|
||||
@ -115,6 +121,50 @@ The Workers Free plan includes limited KV usage, but the quota is sufficient for
|
||||
|
||||
## Future plans
|
||||
|
||||
Stay tuned for more features coming in, like leveraging the fact that CRON instances are scheduled around the world during the day
|
||||
so we can monitor the response times. However, we will most probably wait for the [Durable Objects](https://blog.cloudflare.com/introducing-workers-durable-objects/) to be in open beta
|
||||
as they are better fit to reliably store such info.
|
||||
WIP - Support for Durable Objects - Cloudflare's product for low-latency coordination and consistent storage for the Workers platform. There is a working prototype, however, we are waiting for at least open beta.
|
||||
|
||||
There is also a managed version of this project, currently in beta. Feel free to check it out https://statusflare.com (https://twitter.com/statusflare_com).
|
||||
|
||||
## Running project locally
|
||||
**Requirements**
|
||||
- Linux or WSL
|
||||
- Yarn (`npm i -g yarn`)
|
||||
- Node 14+
|
||||
|
||||
### Steps to get server up and running
|
||||
**Install wrangler**
|
||||
```
|
||||
npm i -g wrangler
|
||||
```
|
||||
|
||||
**Login With Wrangler to Cloudflare**
|
||||
```
|
||||
wrangler login
|
||||
```
|
||||
|
||||
**Create your KV namespace in cloudflare**
|
||||
```
|
||||
On the workers page navigate to KV, and create a namespace
|
||||
```
|
||||
|
||||
**Update your wrangler.toml with**
|
||||
```
|
||||
kv-namespaces = [{binding="KV_STATUS_PAGE", id="<KV_ID>", preview_id="<KV_ID>"}]
|
||||
```
|
||||
_Note: you may need to change `kv-namespaces` to `kv_namespaces`_
|
||||
|
||||
**Install packages**
|
||||
```
|
||||
yarn install
|
||||
```
|
||||
|
||||
**Create CSS**
|
||||
```
|
||||
yarn run css
|
||||
```
|
||||
|
||||
**Run**
|
||||
```
|
||||
yarn run dev
|
||||
```
|
||||
_Note: If the styles do not come through try using `localhost:8787` instead of `localhost:8080`_
|
||||
|
36
config.yaml
36
config.yaml
@ -1,5 +1,5 @@
|
||||
settings:
|
||||
title: 'Status Page'
|
||||
title: 'Killzone Gaming Status'
|
||||
url: 'https://status-page.eidam.dev' # used for Slack messages
|
||||
logo: logo-192x192.png # image in ./public/ folder
|
||||
daysInHistogram: 90 # number of days you want to display in histogram
|
||||
@ -15,23 +15,37 @@ settings:
|
||||
dayInHistogramNotOperational: ' incident(s)' # xx incident(s) recorded
|
||||
|
||||
monitors:
|
||||
- id: workers-cloudflare-com # unique identifier
|
||||
name: workers.cloudflare.com
|
||||
description: 'You write code. They handle the rest.' # default=empty
|
||||
url: 'https://workers.cloudflare.com/' # URL to fetch
|
||||
- id: www-kzg-gg # unique identifier
|
||||
name: kzg.gg | Killzone Gaming Forums
|
||||
description: '' # default=empty
|
||||
url: 'https://kzg.gg' # URL to fetch
|
||||
method: GET # default=GET
|
||||
expectStatus: 200 # operational status, default=200
|
||||
followRedirect: false # should fetch follow redirects, default=false
|
||||
linkable: false # allows the title to be a link, default=true
|
||||
|
||||
- id: www-cloudflare-com
|
||||
name: www.cloudflare.com
|
||||
- id: www-bans-kzg-gg
|
||||
name: bans.kzg.gg | Killzone Gaming SourceBans
|
||||
description: 'Built for anything connected to the Internet.'
|
||||
url: 'https://www.cloudflare.com'
|
||||
url: 'https://stats.kzg.gg'
|
||||
method: GET
|
||||
expectStatus: 200
|
||||
linkable: true # allows the title to be a link, default=true
|
||||
|
||||
- id: stats-kzg-gg
|
||||
name: stats.kzg.gg | Killzone Gaming Statistics
|
||||
url: 'https://stats.kzg.gg'
|
||||
method: GET
|
||||
expectStatus: 200
|
||||
|
||||
- id: blog-cloudflare-com
|
||||
name: The Cloudflare Blog
|
||||
url: 'https://blog.cloudflare.com/'
|
||||
- id: steamid-kzg-gg
|
||||
name: steamid.kzg.gg | Killzone Gaming SteamID
|
||||
url: 'https://steamid.kzg.gg'
|
||||
method: GET
|
||||
expectStatus: 200
|
||||
|
||||
- id: shorturl-kzg-gg
|
||||
name: kzg.link | Killzone Gaming URL Shortner
|
||||
url: 'https://kzg.link'
|
||||
method: GET
|
||||
expectStatus: 200
|
||||
|
@ -23,7 +23,7 @@
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.0.2",
|
||||
"node-fetch": "^2.6.1",
|
||||
"postcss": "^8.1.8",
|
||||
"postcss": "^8.2.10",
|
||||
"postcss-cli": "^8.3.0",
|
||||
"prettier": "^2.2.0",
|
||||
"tailwindcss": "^2.0.1",
|
||||
|
@ -30,9 +30,20 @@ export default function MonitorCard({ key, monitor, data }) {
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{(monitor.linkable === true || monitor.linkable === undefined) ?
|
||||
(
|
||||
<a href={monitor.url} target="_blank">
|
||||
<div className="text-xl">{monitor.name}</div>
|
||||
</a>
|
||||
)
|
||||
:
|
||||
(
|
||||
<span>
|
||||
<div className="text-xl">{monitor.name}</div>
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
</div>
|
||||
<MonitorStatusLabel kvMonitor={data} />
|
||||
</div>
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { locations } from '../functions/helpers'
|
||||
import { locations } from '../functions/locations'
|
||||
|
||||
export default function MonitorDayAverage({ location, avg }) {
|
||||
return (
|
||||
|
@ -1,5 +1,5 @@
|
||||
import config from '../../config.yaml'
|
||||
import { locations } from '../functions/helpers'
|
||||
import { locations } from '../functions/locations'
|
||||
|
||||
const classes = {
|
||||
green:
|
||||
|
@ -45,11 +45,11 @@ export default function ThemeSwitcher() {
|
||||
setDark(!darkmode)
|
||||
}
|
||||
|
||||
const buttonColor = darkmode ? 'bg-gray-700' : 'bg-gray-200'
|
||||
const buttonColor = darkmode ? 'bg-gray-700 focus:ring-gray-700' : 'bg-gray-200 focus:ring-gray-200'
|
||||
|
||||
return (
|
||||
<button
|
||||
className={`${buttonColor} rounded-full h-7 w-7 mr-4`}
|
||||
className={`${buttonColor} rounded-full h-7 w-7 mr-4 focus:outline-none focus:ring-2 focus:ring-opacity-50`}
|
||||
onClick={changeTheme}
|
||||
>
|
||||
{darkmode ? sunIcon : moonIcon}
|
||||
|
@ -6,6 +6,7 @@ import {
|
||||
getCheckLocation,
|
||||
getKVMonitors,
|
||||
setKVMonitors,
|
||||
notifyDiscord,
|
||||
} from './helpers'
|
||||
|
||||
function getDate() {
|
||||
@ -88,6 +89,15 @@ export async function processCronTrigger(event) {
|
||||
event.waitUntil(notifyTelegram(monitor, monitorOperational))
|
||||
}
|
||||
|
||||
// Send Discord message on monitor change
|
||||
if (
|
||||
monitorStatusChanged &&
|
||||
typeof SECRET_DISCORD_WEBHOOK_URL !== 'undefined' &&
|
||||
SECRET_DISCORD_WEBHOOK_URL !== 'default-gh-action-secret'
|
||||
) {
|
||||
event.waitUntil(notifyDiscord(monitor, monitorOperational))
|
||||
}
|
||||
|
||||
// make sure checkDay exists in checks in cases when needed
|
||||
if (
|
||||
(config.settings.collectResponseTimes || !monitorOperational) &&
|
||||
@ -131,8 +141,8 @@ export async function processCronTrigger(event) {
|
||||
// Save allOperational to false
|
||||
monitorsState.lastUpdate.allOperational = false
|
||||
|
||||
// Increment failed checks, only on status change (maybe call it .incidents instead?)
|
||||
if (monitorStatusChanged) {
|
||||
// Increment failed checks on status change or first fail of the day (maybe call it .incidents instead?)
|
||||
if (monitorStatusChanged || monitorsState.monitors[monitor.id].checks[checkDay].fails == 0) {
|
||||
monitorsState.monitors[monitor.id].checks[checkDay].fails++
|
||||
}
|
||||
}
|
||||
|
@ -3,13 +3,6 @@ import { useEffect, useState } from 'react'
|
||||
|
||||
const kvDataKey = 'monitors_data_v1_1'
|
||||
|
||||
export const locations = {
|
||||
WAW: 'Warsaw',
|
||||
SCL: 'Santiago de Chile',
|
||||
MEL: 'Melbourne',
|
||||
SIN: 'Singapore',
|
||||
}
|
||||
|
||||
export async function getKVMonitors() {
|
||||
// trying both to see performance difference
|
||||
return KV_STATUS_PAGE.get(kvDataKey, 'json')
|
||||
@ -34,6 +27,7 @@ export async function notifySlack(monitor, operational) {
|
||||
const payload = {
|
||||
attachments: [
|
||||
{
|
||||
fallback: `Monitor ${monitor.name} changed status to ${getOperationalLabel(operational)}`,
|
||||
color: operational ? '#36a64f' : '#f2c744',
|
||||
blocks: [
|
||||
{
|
||||
@ -90,6 +84,30 @@ export async function notifyTelegram(monitor, operational) {
|
||||
})
|
||||
}
|
||||
|
||||
// Visualize your payload using https://leovoel.github.io/embed-visualizer/
|
||||
export async function notifyDiscord(monitor, operational) {
|
||||
const payload = {
|
||||
username: `${config.settings.title}`,
|
||||
avatar_url: `${config.settings.url}/${config.settings.logo}`,
|
||||
embeds: [
|
||||
{
|
||||
title: `${monitor.name} is ${getOperationalLabel(operational)} ${
|
||||
operational ? ':white_check_mark:' : ':x:'
|
||||
}`,
|
||||
description: `\`${monitor.method ? monitor.method : 'GET'} ${
|
||||
monitor.url
|
||||
}\` - :eyes: [Status Page](${config.settings.url})`,
|
||||
color: operational ? 3581519 : 13632027,
|
||||
},
|
||||
],
|
||||
}
|
||||
return fetch(SECRET_DISCORD_WEBHOOK_URL, {
|
||||
body: JSON.stringify(payload),
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
})
|
||||
}
|
||||
|
||||
export function useKeyPress(targetKey) {
|
||||
const [keyPressed, setKeyPressed] = useState(false)
|
||||
|
||||
|
226
src/functions/locations.js
Normal file
226
src/functions/locations.js
Normal file
@ -0,0 +1,226 @@
|
||||
export const locations = {
|
||||
ADL: 'Adelaide',
|
||||
AKL: 'Auckland',
|
||||
ALG: 'Algiers',
|
||||
AMM: 'Amman',
|
||||
AMS: 'Amsterdam',
|
||||
ARI: 'Arica',
|
||||
ARN: 'Stockholm',
|
||||
ASU: 'Asunción',
|
||||
ATH: 'Athens',
|
||||
ATL: 'Atlanta',
|
||||
BAH: 'Manama',
|
||||
BCN: 'Barcelona',
|
||||
BEG: 'Belgrade',
|
||||
BEL: 'Belém',
|
||||
BEY: 'Beirut',
|
||||
BGW: 'Baghdad',
|
||||
BKK: 'Bangkok',
|
||||
BLR: 'Bangalore',
|
||||
BNA: 'Nashville',
|
||||
BNE: 'Brisbane',
|
||||
BNU: 'Blumenau',
|
||||
BOG: 'Bogotá',
|
||||
BOM: 'Mumbai',
|
||||
BOS: 'Boston',
|
||||
BRU: 'Brussels',
|
||||
BSB: 'Brasilia',
|
||||
BUD: 'Budapest',
|
||||
BUF: 'Buffalo',
|
||||
BWN: 'Bandar Seri Begawan',
|
||||
CAN: 'Guangzhou',
|
||||
CBR: 'Canberra',
|
||||
CCU: 'Kolkata',
|
||||
CDG: 'Paris',
|
||||
CEB: 'Cebu',
|
||||
CFC: 'Caçador',
|
||||
CGK: 'Jakarta',
|
||||
CGO: 'Zhengzhou',
|
||||
CGP: 'Chittagong',
|
||||
CKG: 'Chongqing',
|
||||
CLT: 'Charlotte',
|
||||
CMB: 'Colombo',
|
||||
CMH: 'Columbus',
|
||||
CMN: 'Casablanca',
|
||||
CNF: 'Belo Horizonte',
|
||||
CPH: 'Copenhagen',
|
||||
CPT: 'Cape Town',
|
||||
CSX: 'Zhuzhou',
|
||||
CTU: 'Chengdu',
|
||||
CUR: 'Willemstad',
|
||||
CWB: 'Curitiba',
|
||||
DAC: 'Dhaka',
|
||||
DAR: 'Dar Es Salaam',
|
||||
DEL: 'New Delhi',
|
||||
DEN: 'Denver',
|
||||
DFW: 'Dallas',
|
||||
DKR: 'Dakar',
|
||||
DME: 'Moscow',
|
||||
DMM: 'Dammam',
|
||||
DOH: 'Doha',
|
||||
DTW: 'Detroit',
|
||||
DUB: 'Dublin',
|
||||
DUR: 'Durban',
|
||||
DUS: 'Düsseldorf',
|
||||
DXB: 'Dubai',
|
||||
EDI: 'Edinburgh',
|
||||
EVN: 'Yerevan',
|
||||
EWR: 'Newark',
|
||||
EZE: 'Buenos Aires',
|
||||
FCO: 'Rome',
|
||||
FLN: 'Florianopolis',
|
||||
FOR: 'Fortaleza',
|
||||
FRA: 'Frankfurt',
|
||||
GIG: 'Rio de Janeiro',
|
||||
GND: 'St. George’s',
|
||||
GOT: 'Gothenburg',
|
||||
GRU: 'São Paulo',
|
||||
GUA: 'Guatemala City',
|
||||
GVA: 'Geneva',
|
||||
GYD: 'Baku',
|
||||
GYE: 'Guayaquil',
|
||||
HAM: 'Hamburg',
|
||||
HAN: 'Hanoi',
|
||||
HEL: 'Helsinki',
|
||||
HKG: 'Hong Kong ',
|
||||
HNL: 'Honolulu',
|
||||
HRE: 'Harare',
|
||||
HYD: 'Hyderabad',
|
||||
IAD: 'Ashburn',
|
||||
IAH: 'Houston',
|
||||
ICN: 'Seoul',
|
||||
IND: 'Indianapolis',
|
||||
ISB: 'Islamabad',
|
||||
IST: 'Istanbul',
|
||||
ITJ: 'Itajaí',
|
||||
JAX: 'Jacksonville',
|
||||
JIB: 'Djibouti City',
|
||||
JNB: 'Johannesburg',
|
||||
JSR: 'Jashore',
|
||||
KBP: 'Kyiv',
|
||||
KEF: 'Reykjavík',
|
||||
KGL: 'Kigali',
|
||||
KHI: 'Karachi',
|
||||
KIV: 'Chișinău',
|
||||
KIX: 'Osaka',
|
||||
KJA: 'Krasnoyarsk',
|
||||
KTM: 'Kathmandu',
|
||||
KUL: 'Kuala Lumpur',
|
||||
KWI: 'Kuwait City',
|
||||
LAD: 'Luanda',
|
||||
LAS: 'Las Vegas',
|
||||
LAX: 'Los Angeles',
|
||||
LCA: 'Nicosia',
|
||||
LED: 'Saint Petersburg',
|
||||
LHE: 'Lahore',
|
||||
LHR: 'London',
|
||||
LIM: 'Lima',
|
||||
LIS: 'Lisbon',
|
||||
LOS: 'Lagos',
|
||||
LUX: 'Luxembourg City',
|
||||
MAA: 'Chennai',
|
||||
MAD: 'Madrid',
|
||||
MAN: 'Manchester',
|
||||
MBA: 'Mombasa',
|
||||
MCI: 'Kansas City',
|
||||
MCT: 'Muscat',
|
||||
MDE: 'Medellín',
|
||||
MEL: 'Melbourne',
|
||||
MEM: 'Memphis',
|
||||
MEX: 'Mexico City',
|
||||
MFE: 'McAllen',
|
||||
MFM: 'Macau ',
|
||||
MGM: 'Montgomery',
|
||||
MIA: 'Miami',
|
||||
MLE: 'Malé',
|
||||
MNL: 'Manila',
|
||||
MPM: 'Maputo',
|
||||
MRS: 'Marseille',
|
||||
MRU: 'Port Louis',
|
||||
MSP: 'Minneapolis',
|
||||
MUC: 'Munich',
|
||||
MXP: 'Milan',
|
||||
NAG: 'Nagpur',
|
||||
NBG: 'Ningbo',
|
||||
NBO: 'Nairobi',
|
||||
NOU: 'Noumea',
|
||||
NRT: 'Tokyo',
|
||||
OMA: 'Omaha',
|
||||
ORD: 'Chicago',
|
||||
ORF: 'Norfolk',
|
||||
OSL: 'Oslo',
|
||||
OTP: 'Bucharest',
|
||||
PAP: 'Port',
|
||||
PBH: 'Thimphu',
|
||||
PBM: 'Paramaribo',
|
||||
PDX: 'Portland',
|
||||
PER: 'Perth',
|
||||
PHL: 'Philadelphia',
|
||||
PHX: 'Phoenix',
|
||||
PIT: 'Pittsburgh',
|
||||
PMO: 'Palermo',
|
||||
PNH: 'Phnom Penh',
|
||||
POA: 'Porto Alegre',
|
||||
PRG: 'Prague',
|
||||
PTY: 'Panama City',
|
||||
QRO: 'Queretaro',
|
||||
QWJ: 'Americana',
|
||||
RAO: 'Ribeirao Preto',
|
||||
RGN: 'Yangon',
|
||||
RIC: 'Richmond',
|
||||
RIX: 'Riga',
|
||||
ROB: 'Monrovia',
|
||||
RUH: 'Riyadh',
|
||||
RUN: 'Réunion',
|
||||
SAN: 'San Diego',
|
||||
SCL: 'Santiago',
|
||||
SEA: 'Seattle',
|
||||
SGN: 'Ho Chi Minh City',
|
||||
SHA: 'Shanghai',
|
||||
SIN: 'Singapore',
|
||||
SJC: 'San Jose',
|
||||
SJO: 'San José',
|
||||
SJP: 'São José do Rio Preto',
|
||||
SKG: 'Thessaloniki',
|
||||
SLC: 'Salt Lake City',
|
||||
SMF: 'Sacramento',
|
||||
SOD: 'Sorocaba',
|
||||
SOF: 'Sofia',
|
||||
SSA: 'Salvador',
|
||||
STL: 'St. Louis',
|
||||
SVX: 'Yekaterinburg',
|
||||
SYD: 'Sydney',
|
||||
SZV: 'Suzhou',
|
||||
TBS: 'Tbilisi',
|
||||
TGU: 'Tegucigalpa',
|
||||
TLH: 'Tallahassee',
|
||||
TLL: 'Tallinn',
|
||||
TLV: 'Tel Aviv',
|
||||
TNA: 'Jinan',
|
||||
TNR: 'Antananarivo',
|
||||
TPA: 'Tampa',
|
||||
TPE: 'Taipei ',
|
||||
TSN: 'Tianjin',
|
||||
TUN: 'Tunis',
|
||||
TXL: 'Berlin',
|
||||
UIO: 'Quito',
|
||||
ULN: 'Ulaanbaatar',
|
||||
URT: 'Surat Thani',
|
||||
VCP: 'Campinas',
|
||||
VIE: 'Vienna',
|
||||
VNO: 'Vilnius',
|
||||
VTE: 'Vientiane',
|
||||
WAW: 'Warsaw',
|
||||
WUH: 'Wuhan',
|
||||
WUX: 'Wuxi',
|
||||
XIY: 'Xi’an',
|
||||
YUL: 'Montréal',
|
||||
YVR: 'Vancouver',
|
||||
YWG: 'Winnipeg',
|
||||
YXE: 'Saskatoon',
|
||||
YYC: 'Calgary',
|
||||
YYZ: 'Toronto',
|
||||
ZAG: 'Zagreb',
|
||||
ZDM: 'Ramallah ',
|
||||
ZRH: 'Zürich',
|
||||
}
|
@ -3,9 +3,10 @@ workers_dev = true
|
||||
account_id = ""
|
||||
type = "webpack"
|
||||
webpack_config = "node_modules/flareact/webpack"
|
||||
compatibility_date = "2021-07-23"
|
||||
|
||||
[triggers]
|
||||
crons = ["* * * * *"]
|
||||
crons = ["*/2 * * * *"]
|
||||
|
||||
[site]
|
||||
bucket = "out"
|
||||
|
155
yarn.lock
155
yarn.lock
@ -1511,10 +1511,10 @@ bluebird@^3.5.5:
|
||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
||||
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
|
||||
|
||||
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
|
||||
version "4.11.9"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
|
||||
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
|
||||
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
|
||||
integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
|
||||
|
||||
bn.js@^5.0.0, bn.js@^5.1.1:
|
||||
version "5.1.3"
|
||||
@ -1585,7 +1585,7 @@ braces@^3.0.1, braces@~3.0.2:
|
||||
dependencies:
|
||||
fill-range "^7.0.1"
|
||||
|
||||
brorand@^1.0.1:
|
||||
brorand@^1.0.1, brorand@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
|
||||
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
|
||||
@ -1652,15 +1652,15 @@ browserify-zlib@^0.2.0:
|
||||
pako "~1.0.5"
|
||||
|
||||
browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.14.7, browserslist@^4.6.4:
|
||||
version "4.14.7"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6"
|
||||
integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==
|
||||
version "4.16.6"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
|
||||
integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001157"
|
||||
colorette "^1.2.1"
|
||||
electron-to-chromium "^1.3.591"
|
||||
caniuse-lite "^1.0.30001219"
|
||||
colorette "^1.2.2"
|
||||
electron-to-chromium "^1.3.723"
|
||||
escalade "^3.1.1"
|
||||
node-releases "^1.1.66"
|
||||
node-releases "^1.1.71"
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.1"
|
||||
@ -1817,10 +1817,10 @@ caniuse-api@^3.0.0:
|
||||
lodash.memoize "^4.1.2"
|
||||
lodash.uniq "^4.5.0"
|
||||
|
||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157:
|
||||
version "1.0.30001159"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz#bebde28f893fa9594dadcaa7d6b8e2aa0299df20"
|
||||
integrity sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA==
|
||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157, caniuse-lite@^1.0.30001219:
|
||||
version "1.0.30001235"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001235.tgz#ad5ca75bc5a1f7b12df79ad806d715a43a5ac4ed"
|
||||
integrity sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A==
|
||||
|
||||
chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
|
||||
version "2.4.2"
|
||||
@ -1982,9 +1982,9 @@ color-name@^1.0.0, color-name@~1.1.4:
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-string@^1.5.4:
|
||||
version "1.5.4"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6"
|
||||
integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312"
|
||||
integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==
|
||||
dependencies:
|
||||
color-name "^1.0.0"
|
||||
simple-swizzle "^0.2.2"
|
||||
@ -1997,10 +1997,10 @@ color@^3.0.0, color@^3.1.3:
|
||||
color-convert "^1.9.1"
|
||||
color-string "^1.5.4"
|
||||
|
||||
colorette@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
|
||||
integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
|
||||
colorette@^1.2.1, colorette@^1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
|
||||
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
|
||||
|
||||
commander@^2.20.0:
|
||||
version "2.20.3"
|
||||
@ -2612,9 +2612,9 @@ dns-equal@^1.0.0:
|
||||
integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0=
|
||||
|
||||
dns-packet@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a"
|
||||
integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==
|
||||
version "1.3.4"
|
||||
resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f"
|
||||
integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==
|
||||
dependencies:
|
||||
ip "^1.1.0"
|
||||
safe-buffer "^5.0.1"
|
||||
@ -2684,23 +2684,23 @@ ee-first@1.1.1:
|
||||
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||
|
||||
electron-to-chromium@^1.3.591:
|
||||
version "1.3.602"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.602.tgz#a176db985a9826c9a3fbf614d054fc42c5c9f478"
|
||||
integrity sha512-+JbC10U8vpKAqAtrEqORdzaWewRgEj5DY+QQNyP/dxDTshPqqgpjrvt6smewKS/5F3vT5prYgg7/VTxb5FROjw==
|
||||
electron-to-chromium@^1.3.723:
|
||||
version "1.3.749"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz#0ecebc529ceb49dd2a7c838ae425236644c3439a"
|
||||
integrity sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A==
|
||||
|
||||
elliptic@^6.5.3:
|
||||
version "6.5.3"
|
||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
|
||||
integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
|
||||
version "6.5.4"
|
||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
|
||||
integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
|
||||
dependencies:
|
||||
bn.js "^4.4.0"
|
||||
brorand "^1.0.1"
|
||||
bn.js "^4.11.9"
|
||||
brorand "^1.1.0"
|
||||
hash.js "^1.0.0"
|
||||
hmac-drbg "^1.0.0"
|
||||
inherits "^2.0.1"
|
||||
minimalistic-assert "^1.0.0"
|
||||
minimalistic-crypto-utils "^1.0.0"
|
||||
hmac-drbg "^1.0.1"
|
||||
inherits "^2.0.4"
|
||||
minimalistic-assert "^1.0.1"
|
||||
minimalistic-crypto-utils "^1.0.1"
|
||||
|
||||
emoji-regex@^7.0.1:
|
||||
version "7.0.3"
|
||||
@ -3472,7 +3472,7 @@ hex-color-regex@^1.1.0:
|
||||
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
|
||||
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
|
||||
|
||||
hmac-drbg@^1.0.0:
|
||||
hmac-drbg@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
|
||||
integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
|
||||
@ -3489,9 +3489,9 @@ homedir-polyfill@^1.0.1:
|
||||
parse-passwd "^1.0.0"
|
||||
|
||||
hosted-git-info@^2.1.4:
|
||||
version "2.8.8"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
|
||||
integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
|
||||
version "2.8.9"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
|
||||
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
|
||||
|
||||
hpack.js@^2.1.6:
|
||||
version "2.1.6"
|
||||
@ -4159,14 +4159,6 @@ last-call-webpack-plugin@^3.0.0:
|
||||
lodash "^4.17.5"
|
||||
webpack-sources "^1.1.0"
|
||||
|
||||
line-column@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2"
|
||||
integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI=
|
||||
dependencies:
|
||||
isarray "^1.0.0"
|
||||
isobject "^2.0.0"
|
||||
|
||||
lines-and-columns@^1.1.6:
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
|
||||
@ -4271,9 +4263,9 @@ lodash.uniq@^4.5.0:
|
||||
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
||||
|
||||
lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5:
|
||||
version "4.17.20"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
|
||||
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||
|
||||
log-symbols@^4.0.0:
|
||||
version "4.0.0"
|
||||
@ -4472,7 +4464,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
|
||||
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
|
||||
|
||||
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
|
||||
minimalistic-crypto-utils@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
|
||||
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
|
||||
@ -4616,10 +4608,10 @@ nan@^2.12.1:
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
|
||||
integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
|
||||
|
||||
nanoid@^3.1.12, nanoid@^3.1.16:
|
||||
version "3.1.16"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.16.tgz#b21f0a7d031196faf75314d7c65d36352beeef64"
|
||||
integrity sha512-+AK8MN0WHji40lj8AEuwLOvLSbWYApQpre/aFJZD71r43wVRLrOYS4FmJOPQYon1TqB462RzrrxlfA74XRES8w==
|
||||
nanoid@^3.1.12, nanoid@^3.1.22:
|
||||
version "3.1.23"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
|
||||
integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
|
||||
|
||||
nanomatch@^1.2.9:
|
||||
version "1.2.13"
|
||||
@ -4706,10 +4698,10 @@ node-libs-browser@^2.2.1:
|
||||
util "^0.11.0"
|
||||
vm-browserify "^1.0.1"
|
||||
|
||||
node-releases@^1.1.66:
|
||||
version "1.1.67"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
|
||||
integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
|
||||
node-releases@^1.1.71:
|
||||
version "1.1.73"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20"
|
||||
integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==
|
||||
|
||||
normalize-package-data@^2.3.2:
|
||||
version "2.5.0"
|
||||
@ -5870,14 +5862,13 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2
|
||||
source-map "^0.6.1"
|
||||
supports-color "^6.1.0"
|
||||
|
||||
postcss@^8.1.6, postcss@^8.1.8:
|
||||
version "8.1.8"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.8.tgz#697439e7276735ecdd2893d2cf8efb2236693ac3"
|
||||
integrity sha512-hO6jFWBy0QnBBRaw+s0F4hVPKGDICec/nLNEG1D4qqw9/LBzWMkTjckqqELXAo0J42jN8GFZXtgQfezEaoG9gQ==
|
||||
postcss@^8.1.6, postcss@^8.2.10:
|
||||
version "8.2.10"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.10.tgz#ca7a042aa8aff494b334d0ff3e9e77079f6f702b"
|
||||
integrity sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==
|
||||
dependencies:
|
||||
colorette "^1.2.1"
|
||||
line-column "^1.0.2"
|
||||
nanoid "^3.1.16"
|
||||
colorette "^1.2.2"
|
||||
nanoid "^3.1.22"
|
||||
source-map "^0.6.1"
|
||||
|
||||
prepend-http@^1.0.0:
|
||||
@ -6767,9 +6758,9 @@ sprintf-js@~1.0.2:
|
||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||
|
||||
ssri@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
|
||||
integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
|
||||
integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
|
||||
dependencies:
|
||||
figgy-pudding "^3.5.1"
|
||||
|
||||
@ -7265,9 +7256,9 @@ urix@^0.1.0:
|
||||
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
|
||||
|
||||
url-parse@^1.4.3:
|
||||
version "1.4.7"
|
||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
|
||||
integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
|
||||
integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
|
||||
dependencies:
|
||||
querystringify "^2.1.1"
|
||||
requires-port "^1.0.0"
|
||||
@ -7566,9 +7557,9 @@ wrappy@1:
|
||||
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
||||
|
||||
ws@^6.2.1:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
|
||||
integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
|
||||
version "6.2.2"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
|
||||
integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
|
||||
@ -7578,9 +7569,9 @@ xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1:
|
||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||
|
||||
y18n@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
|
||||
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
|
||||
integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
|
||||
|
||||
y18n@^5.0.5:
|
||||
version "5.0.5"
|
||||
|
Reference in New Issue
Block a user