This commit is contained in:
MichaelDvP
2024-02-15 09:08:01 +01:00
110 changed files with 1942 additions and 1923 deletions

View File

@@ -5,8 +5,8 @@
},
"extends": [
"eslint:recommended",
"airbnb/hooks",
"airbnb-typescript",
// "airbnb/hooks",
// "airbnb-typescript",
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"plugin:@typescript-eslint/recommended",

View File

@@ -26,8 +26,8 @@
"@babel/core": "^7.23.9",
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
"@mui/icons-material": "^5.15.9",
"@mui/material": "^5.15.9",
"@mui/icons-material": "^5.15.10",
"@mui/material": "^5.15.10",
"@table-library/react-table-library": "4.1.7",
"@types/imagemin": "^8.0.5",
"@types/lodash-es": "^4.17.12",
@@ -54,12 +54,10 @@
"devDependencies": {
"@preact/compat": "^17.1.2",
"@preact/preset-vite": "^2.8.1",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"@typescript-eslint/eslint-plugin": "^7.0.1",
"@typescript-eslint/parser": "^7.0.1",
"concurrently": "^8.2.2",
"eslint": "^8.56.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.1.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-autofix": "^1.1.0",
@@ -72,7 +70,7 @@
"prettier": "^3.2.5",
"rollup-plugin-visualizer": "^5.12.0",
"terser": "^5.27.0",
"vite": "^5.1.1",
"vite": "^5.1.2",
"vite-plugin-imagemin": "^0.6.1",
"vite-tsconfig-paths": "^4.3.1"
},

View File

@@ -2,6 +2,7 @@ import { readdirSync, existsSync, unlinkSync, readFileSync, createWriteStream }
import { resolve, relative, sep } from 'path';
import zlib from 'zlib';
import mime from 'mime-types';
import crypto from 'crypto';
const ARDUINO_INCLUDES = '#include <Arduino.h>\n\n';
const INDENT = ' ';
@@ -11,14 +12,17 @@ const bytesPerLine = 20;
var totalSize = 0;
const generateWWWClass = () =>
`typedef std::function<void(const String& uri, const String& contentType, const uint8_t * content, size_t len)> RouteRegistrationHandler;
`typedef std::function<void(const String& uri, const String& contentType, const uint8_t * content, size_t len, const String& hash)> RouteRegistrationHandler;
// Total size is ${totalSize} bytes
class WWWData {
${indent}public:
${indent.repeat(2)}static void registerRoutes(RouteRegistrationHandler handler) {
${fileInfo
.map((file) => `${indent.repeat(3)}handler("${file.uri}", "${file.mimeType}", ${file.variable}, ${file.size});`)
.map(
(file) =>
`${indent.repeat(3)}handler("${file.uri}", "${file.mimeType}", ${file.variable}, ${file.size}, "${file.hash}");`
)
.join('\n')}
${indent.repeat(2)}}
};
@@ -50,6 +54,12 @@ const writeFile = (relativeFilePath, buffer) => {
writeStream.write('const uint8_t ' + variable + '[] = {');
// const zipBuffer = zlib.brotliCompressSync(buffer, { quality: 1 });
const zipBuffer = zlib.gzipSync(buffer, { level: 9 });
// create sha
const hashSum = crypto.createHash('sha256');
hashSum.update(zipBuffer);
const hash = hashSum.digest('hex');
zipBuffer.forEach((b) => {
if (!(size % bytesPerLine)) {
writeStream.write('\n');
@@ -58,15 +68,19 @@ const writeFile = (relativeFilePath, buffer) => {
writeStream.write('0x' + ('00' + b.toString(16).toUpperCase()).slice(-2) + ',');
size++;
});
if (size % bytesPerLine) {
writeStream.write('\n');
}
writeStream.write('};\n\n');
fileInfo.push({
uri: '/' + relativeFilePath.replace(sep, '/'),
mimeType,
variable,
size
size,
hash
});
// console.log(relativeFilePath + ' (size ' + size + ' bytes)');

View File

@@ -72,6 +72,7 @@ const MqttSettingsForm: FC = () => {
name="host"
label={LL.ADDRESS_OF(LL.BROKER())}
fullWidth
multiline
variant="outlined"
value={data.host}
onChange={updateFormValue}

View File

@@ -15,8 +15,8 @@ import {
ListItemSecondaryAction,
ListItemText,
Typography,
InputAdornment,
TextField
TextField,
MenuItem
} from '@mui/material';
// eslint-disable-next-line import/named
import { updateState, useRequest } from 'alova';
@@ -43,7 +43,7 @@ import {
} from 'components';
import { useI18nContext } from 'i18n/i18n-react';
import { numberValue, updateValueDirty, useRest } from 'utils';
import { updateValueDirty, useRest } from 'utils';
import { validate } from 'validators';
import { createNetworkSettingsValidator } from 'validators/network';
@@ -88,7 +88,7 @@ const WiFiSettingsForm: FC = () => {
static_ip_config: false,
enableIPv6: false,
bandwidth20: false,
tx_power: 20,
tx_power: 0,
nosleep: false,
enableMDNS: true,
enableCORS: false,
@@ -196,20 +196,27 @@ const WiFiSettingsForm: FC = () => {
margin="normal"
/>
)}
<ValidatedTextField
fieldErrors={fieldErrors}
<TextField
name="tx_power"
label={LL.TX_POWER()}
InputProps={{
endAdornment: <InputAdornment position="end">dBm</InputAdornment>
}}
fullWidth
variant="outlined"
value={numberValue(data.tx_power)}
value={data.tx_power}
onChange={updateFormValue}
type="number"
margin="normal"
/>
select
>
<MenuItem value={0}>Auto</MenuItem>
<MenuItem value={78}>19.5 dBm</MenuItem>
<MenuItem value={76}>19 dBm</MenuItem>
<MenuItem value={74}>18.5 dBm</MenuItem>
<MenuItem value={68}>17 dBm</MenuItem>
<MenuItem value={60}>15 dBm</MenuItem>
<MenuItem value={52}>13 dBm</MenuItem>
<MenuItem value={44}>11 dBm</MenuItem>
<MenuItem value={34}>8.5 dBm</MenuItem>
<MenuItem value={28}>7 dBm</MenuItem>
</TextField>
<BlockFormControlLabel
control={<Checkbox name="nosleep" checked={data.nosleep} onChange={updateFormValue} />}
label={LL.NETWORK_DISABLE_SLEEP()}

View File

@@ -14,9 +14,5 @@ export const createNetworkSettingsValidator = (networkSettings: NetworkSettings)
subnet_mask: [{ required: true, message: 'Subnet mask is required' }, IP_ADDRESS_VALIDATOR],
dns_ip_1: IP_ADDRESS_VALIDATOR,
dns_ip_2: IP_ADDRESS_VALIDATOR
}),
tx_power: [
{ required: true, message: 'Tx Power is required' },
{ type: 'number', min: 0, max: 20, message: 'Tx Power must be between 0 and 20dBm' }
]
})
});

View File

@@ -33,7 +33,7 @@ export const IP_ADDRESS_VALIDATOR = {
}
};
const HOSTNAME_LENGTH_REGEXP = /^.{0,63}$/;
const HOSTNAME_LENGTH_REGEXP = /^.{0,200}$/;
const HOSTNAME_PATTERN_REGEXP =
/^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/;
@@ -42,7 +42,7 @@ const isValidHostname = (value: string) => HOSTNAME_LENGTH_REGEXP.test(value) &&
export const HOSTNAME_VALIDATOR = {
validator(rule: InternalRuleItem, value: string, callback: (error?: string) => void) {
if (value && !isValidHostname(value)) {
callback('Must be a valid hostname of up to 63 characters');
callback('Must be a valid hostname');
} else {
callback();
}
@@ -52,7 +52,7 @@ export const HOSTNAME_VALIDATOR = {
export const IP_OR_HOSTNAME_VALIDATOR = {
validator(rule: InternalRuleItem, value: string, callback: (error?: string) => void) {
if (value && !(isValidIpAddress(value) || isValidHostname(value))) {
callback('Must be a valid IP address or hostname of up to 63 characters');
callback('Must be a valid IP address or hostname');
} else {
callback();
}

View File

@@ -1014,16 +1014,16 @@ __metadata:
languageName: node
linkType: hard
"@mui/core-downloads-tracker@npm:^5.15.9":
version: 5.15.9
resolution: "@mui/core-downloads-tracker@npm:5.15.9"
checksum: 10/f0f7af8e8f6f50df29a4e41ecb59c75869f760f22df0dc534476094089c74edcd7eacb4d17e636e0b7dd06ea1f3bb6564b21dbe072f89d1b9d87373760d69e2b
"@mui/core-downloads-tracker@npm:^5.15.10":
version: 5.15.10
resolution: "@mui/core-downloads-tracker@npm:5.15.10"
checksum: 10/aeb16b31f60c08cc03585fedadceadd54aa48dda394fb945ab885f884c1b1692efb72309465641b6ca2367bd53d5fdce15f189d4691f42b59206622ffb2d6f0f
languageName: node
linkType: hard
"@mui/icons-material@npm:^5.15.9":
version: 5.15.9
resolution: "@mui/icons-material@npm:5.15.9"
"@mui/icons-material@npm:^5.15.10":
version: 5.15.10
resolution: "@mui/icons-material@npm:5.15.10"
dependencies:
"@babel/runtime": "npm:^7.23.9"
peerDependencies:
@@ -1033,17 +1033,17 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 10/bcda24107125108569fe8252d05297f441362d33dbb96f8c32b35ac6d280a3c9a2f03548344c73d316e26c89d2d3e74057b292be6677ab1b582d94b6cf3ba100
checksum: 10/ce22c02dc7ed960a21f8d5ea7c4d4fc03d9f71e8a26ced02f75da1ffd6c768e6fa0682a308a03be53bffc2325a5aaf68be69f9e192b0a57c6752f7548e5b9045
languageName: node
linkType: hard
"@mui/material@npm:^5.15.9":
version: 5.15.9
resolution: "@mui/material@npm:5.15.9"
"@mui/material@npm:^5.15.10":
version: 5.15.10
resolution: "@mui/material@npm:5.15.10"
dependencies:
"@babel/runtime": "npm:^7.23.9"
"@mui/base": "npm:5.0.0-beta.36"
"@mui/core-downloads-tracker": "npm:^5.15.9"
"@mui/core-downloads-tracker": "npm:^5.15.10"
"@mui/system": "npm:^5.15.9"
"@mui/types": "npm:^7.2.13"
"@mui/utils": "npm:^5.15.9"
@@ -1066,7 +1066,7 @@ __metadata:
optional: true
"@types/react":
optional: true
checksum: 10/fbbb33f83520f2f0a31d7a75be02c3c038da0bd2d2a914eadbe890783f18e9a93f818ea93da21cc6a6c303352662b4da764c67094183cee5133f810ffabead07
checksum: 10/a88ad1287a905549ed516742544c8ba32f0cd7e1b184564efc8ceba5f43060d37b5cd113db605f1bb5be6c74cbdad7321d3fd7df410ba33d55548cf7c5bbf8d0
languageName: node
linkType: hard
@@ -1713,15 +1713,15 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.21.0"
"@typescript-eslint/eslint-plugin@npm:^7.0.1":
version: 7.0.1
resolution: "@typescript-eslint/eslint-plugin@npm:7.0.1"
dependencies:
"@eslint-community/regexpp": "npm:^4.5.1"
"@typescript-eslint/scope-manager": "npm:6.21.0"
"@typescript-eslint/type-utils": "npm:6.21.0"
"@typescript-eslint/utils": "npm:6.21.0"
"@typescript-eslint/visitor-keys": "npm:6.21.0"
"@typescript-eslint/scope-manager": "npm:7.0.1"
"@typescript-eslint/type-utils": "npm:7.0.1"
"@typescript-eslint/utils": "npm:7.0.1"
"@typescript-eslint/visitor-keys": "npm:7.0.1"
debug: "npm:^4.3.4"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.4"
@@ -1729,73 +1729,73 @@ __metadata:
semver: "npm:^7.5.4"
ts-api-utils: "npm:^1.0.1"
peerDependencies:
"@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha
eslint: ^7.0.0 || ^8.0.0
"@typescript-eslint/parser": ^7.0.0
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/a57de0f630789330204cc1531f86cfc68b391cafb1ba67c8992133f1baa2a09d629df66e71260b040de4c9a3ff1252952037093c4128b0d56c4dbb37720b4c1d
checksum: 10/0862e8ec8677fcea794394fc9eab8dba11043c08452722790e0d296d4ee84713180676e1e3135be4203ace7bb73933c94159255cb9190c7bc13bf7f03a361915
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/parser@npm:6.21.0"
"@typescript-eslint/parser@npm:^7.0.1":
version: 7.0.1
resolution: "@typescript-eslint/parser@npm:7.0.1"
dependencies:
"@typescript-eslint/scope-manager": "npm:6.21.0"
"@typescript-eslint/types": "npm:6.21.0"
"@typescript-eslint/typescript-estree": "npm:6.21.0"
"@typescript-eslint/visitor-keys": "npm:6.21.0"
"@typescript-eslint/scope-manager": "npm:7.0.1"
"@typescript-eslint/types": "npm:7.0.1"
"@typescript-eslint/typescript-estree": "npm:7.0.1"
"@typescript-eslint/visitor-keys": "npm:7.0.1"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/4d51cdbc170e72275efc5ef5fce48a81ec431e4edde8374f4d0213d8d370a06823e1a61ae31d502a5f1b0d1f48fc4d29a1b1b5c2dcf809d66d3872ccf6e46ac7
checksum: 10/b4ba1743ab730268a1924139f072e4a0a56959526fb6377e1b3964518b6c6851733ae446a44d29fed1cb96669e2913cca524895ce77a6205aaed8bda00e8cd5d
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/scope-manager@npm:6.21.0"
"@typescript-eslint/scope-manager@npm:7.0.1":
version: 7.0.1
resolution: "@typescript-eslint/scope-manager@npm:7.0.1"
dependencies:
"@typescript-eslint/types": "npm:6.21.0"
"@typescript-eslint/visitor-keys": "npm:6.21.0"
checksum: 10/fe91ac52ca8e09356a71dc1a2f2c326480f3cccfec6b2b6d9154c1a90651ab8ea270b07c67df5678956c3bbf0bbe7113ab68f68f21b20912ea528b1214197395
"@typescript-eslint/types": "npm:7.0.1"
"@typescript-eslint/visitor-keys": "npm:7.0.1"
checksum: 10/dade6055bb853adb54de795cc3da5ab8550236d4186f108573fdb02e636ab7fc4300a55b506698ced4087ca43b143a5593931cb3195ab4790470b456d9ff8846
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/type-utils@npm:6.21.0"
"@typescript-eslint/type-utils@npm:7.0.1":
version: 7.0.1
resolution: "@typescript-eslint/type-utils@npm:7.0.1"
dependencies:
"@typescript-eslint/typescript-estree": "npm:6.21.0"
"@typescript-eslint/utils": "npm:6.21.0"
"@typescript-eslint/typescript-estree": "npm:7.0.1"
"@typescript-eslint/utils": "npm:7.0.1"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.0.1"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/d03fb3ee1caa71f3ce053505f1866268d7ed79ffb7fed18623f4a1253f5b8f2ffc92636d6fd08fcbaf5bd265a6de77bf192c53105131e4724643dfc910d705fc
checksum: 10/cf20a3c0e56121ac62467e48121e135798db6d2999bd4f96ed44edc39f2597812d12b1bd6a378adec54d6c5e7db75fa5f98a27ce399792a2c8a5bbd3649952f7
languageName: node
linkType: hard
"@typescript-eslint/types@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/types@npm:6.21.0"
checksum: 10/e26da86d6f36ca5b6ef6322619f8ec55aabcd7d43c840c977ae13ae2c964c3091fc92eb33730d8be08927c9de38466c5323e78bfb270a9ff1d3611fe821046c5
"@typescript-eslint/types@npm:7.0.1":
version: 7.0.1
resolution: "@typescript-eslint/types@npm:7.0.1"
checksum: 10/c08b2d34bab2a877a45a1e4c2923f50d03022b682b7aaba929ae2a9a5ad32db0e46265544a6616ccb98654b434250621be0e282fc5b21b8ccaf6b78741d68f67
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/typescript-estree@npm:6.21.0"
"@typescript-eslint/typescript-estree@npm:7.0.1":
version: 7.0.1
resolution: "@typescript-eslint/typescript-estree@npm:7.0.1"
dependencies:
"@typescript-eslint/types": "npm:6.21.0"
"@typescript-eslint/visitor-keys": "npm:6.21.0"
"@typescript-eslint/types": "npm:7.0.1"
"@typescript-eslint/visitor-keys": "npm:7.0.1"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@@ -1805,34 +1805,34 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/b32fa35fca2a229e0f5f06793e5359ff9269f63e9705e858df95d55ca2cd7fdb5b3e75b284095a992c48c5fc46a1431a1a4b6747ede2dd08929dc1cbacc589b8
checksum: 10/b0b0adc84502d1ffcf3a0024179e0f2780be5f8b0a18328db46d430efc4e38a7965656b4392dd47d6176bbb1ee200aec6dd8581c39b606e260750574358cde9f
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/utils@npm:6.21.0"
"@typescript-eslint/utils@npm:7.0.1":
version: 7.0.1
resolution: "@typescript-eslint/utils@npm:7.0.1"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@types/json-schema": "npm:^7.0.12"
"@types/semver": "npm:^7.5.0"
"@typescript-eslint/scope-manager": "npm:6.21.0"
"@typescript-eslint/types": "npm:6.21.0"
"@typescript-eslint/typescript-estree": "npm:6.21.0"
"@typescript-eslint/scope-manager": "npm:7.0.1"
"@typescript-eslint/types": "npm:7.0.1"
"@typescript-eslint/typescript-estree": "npm:7.0.1"
semver: "npm:^7.5.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
checksum: 10/b404a2c55a425a79d054346ae123087d30c7ecf7ed7abcf680c47bf70c1de4fabadc63434f3f460b2fa63df76bc9e4a0b9fa2383bb8a9fcd62733fb5c4e4f3e3
eslint: ^8.56.0
checksum: 10/b7e0cb2994f73b3f416684dc175d4e1da5f8306d6c81abbad2f219fa3e4f29154063a3c9568e4a1f879a38b79c62250e596e4ed7265f7bd1ed9b3db806cb92b7
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/visitor-keys@npm:6.21.0"
"@typescript-eslint/visitor-keys@npm:7.0.1":
version: 7.0.1
resolution: "@typescript-eslint/visitor-keys@npm:7.0.1"
dependencies:
"@typescript-eslint/types": "npm:6.21.0"
"@typescript-eslint/types": "npm:7.0.1"
eslint-visitor-keys: "npm:^3.4.1"
checksum: 10/30422cdc1e2ffad203df40351a031254b272f9c6f2b7e02e9bfa39e3fc2c7b1c6130333b0057412968deda17a3a68a578a78929a8139c6acef44d9d841dc72e1
checksum: 10/915c5b19302a4c76e843cd2d04a9a2b11907e658d7018c8b55c338b090d9115d3719809aa05b8af130cc1b216c77626d210c20f705b732e83d04ceae0c112f6b
languageName: node
linkType: hard
@@ -1851,8 +1851,8 @@ __metadata:
"@babel/core": "npm:^7.23.9"
"@emotion/react": "npm:^11.11.3"
"@emotion/styled": "npm:^11.11.0"
"@mui/icons-material": "npm:^5.15.9"
"@mui/material": "npm:^5.15.9"
"@mui/icons-material": "npm:^5.15.10"
"@mui/material": "npm:^5.15.10"
"@preact/compat": "npm:^17.1.2"
"@preact/preset-vite": "npm:^2.8.1"
"@table-library/react-table-library": "npm:4.1.7"
@@ -1862,14 +1862,12 @@ __metadata:
"@types/react": "npm:^18.2.55"
"@types/react-dom": "npm:^18.2.19"
"@types/react-router-dom": "npm:^5.3.3"
"@typescript-eslint/eslint-plugin": "npm:^6.21.0"
"@typescript-eslint/parser": "npm:^6.21.0"
"@typescript-eslint/eslint-plugin": "npm:^7.0.1"
"@typescript-eslint/parser": "npm:^7.0.1"
alova: "npm:^2.17.0"
async-validator: "npm:^4.2.5"
concurrently: "npm:^8.2.2"
eslint: "npm:^8.56.0"
eslint-config-airbnb: "npm:^19.0.4"
eslint-config-airbnb-typescript: "npm:^17.1.0"
eslint-config-prettier: "npm:^9.1.0"
eslint-import-resolver-typescript: "npm:^3.6.1"
eslint-plugin-autofix: "npm:^1.1.0"
@@ -1895,7 +1893,7 @@ __metadata:
terser: "npm:^5.27.0"
typesafe-i18n: "npm:^5.26.2"
typescript: "npm:^5.3.3"
vite: "npm:^5.1.1"
vite: "npm:^5.1.2"
vite-plugin-imagemin: "npm:^0.6.1"
vite-tsconfig-paths: "npm:^4.3.1"
languageName: unknown
@@ -2738,13 +2736,6 @@ __metadata:
languageName: node
linkType: hard
"confusing-browser-globals@npm:^1.0.10":
version: 1.0.11
resolution: "confusing-browser-globals@npm:1.0.11"
checksum: 10/3afc635abd37e566477f610e7978b15753f0e84025c25d49236f1f14d480117185516bdd40d2a2167e6bed8048641a9854964b9c067e3dcdfa6b5d0ad3c3a5ef
languageName: node
linkType: hard
"console-control-strings@npm:^1.1.0":
version: 1.1.0
resolution: "console-control-strings@npm:1.1.0"
@@ -3790,52 +3781,6 @@ __metadata:
languageName: node
linkType: hard
"eslint-config-airbnb-base@npm:^15.0.0":
version: 15.0.0
resolution: "eslint-config-airbnb-base@npm:15.0.0"
dependencies:
confusing-browser-globals: "npm:^1.0.10"
object.assign: "npm:^4.1.2"
object.entries: "npm:^1.1.5"
semver: "npm:^6.3.0"
peerDependencies:
eslint: ^7.32.0 || ^8.2.0
eslint-plugin-import: ^2.25.2
checksum: 10/daa68a1dcb7bff338747a952723b5fa9d159980ec3554c395a4b52a7f7d4f00a45e7b465420eb6d4d87a82cef6361e4cfd6dbb38c2f3f52f2140b6cf13654803
languageName: node
linkType: hard
"eslint-config-airbnb-typescript@npm:^17.1.0":
version: 17.1.0
resolution: "eslint-config-airbnb-typescript@npm:17.1.0"
dependencies:
eslint-config-airbnb-base: "npm:^15.0.0"
peerDependencies:
"@typescript-eslint/eslint-plugin": ^5.13.0 || ^6.0.0
"@typescript-eslint/parser": ^5.0.0 || ^6.0.0
eslint: ^7.32.0 || ^8.2.0
eslint-plugin-import: ^2.25.3
checksum: 10/a2238d820909ac005704e04d29ed495cebbe024869c488330273ea108e18cbf74b6b13e09d54d22a598fe793b9ed5ae593a7e8f9bdc6ea17614d5f2add340960
languageName: node
linkType: hard
"eslint-config-airbnb@npm:^19.0.4":
version: 19.0.4
resolution: "eslint-config-airbnb@npm:19.0.4"
dependencies:
eslint-config-airbnb-base: "npm:^15.0.0"
object.assign: "npm:^4.1.2"
object.entries: "npm:^1.1.5"
peerDependencies:
eslint: ^7.32.0 || ^8.2.0
eslint-plugin-import: ^2.25.3
eslint-plugin-jsx-a11y: ^6.5.1
eslint-plugin-react: ^7.28.0
eslint-plugin-react-hooks: ^4.3.0
checksum: 10/f2086523cfd20c42fd620c757281bd028aa8ce9dadc7293c5c23ea60947a2d3ca04404ede77b40f5a65250fe3c04502acafc4f2f6946819fe6c257d76d9644e5
languageName: node
linkType: hard
"eslint-config-prettier@npm:^9.1.0":
version: 9.1.0
resolution: "eslint-config-prettier@npm:9.1.0"
@@ -6603,7 +6548,7 @@ __metadata:
languageName: node
linkType: hard
"object.assign@npm:^4.1.2, object.assign@npm:^4.1.4":
"object.assign@npm:^4.1.4":
version: 4.1.4
resolution: "object.assign@npm:4.1.4"
dependencies:
@@ -6615,7 +6560,7 @@ __metadata:
languageName: node
linkType: hard
"object.entries@npm:^1.1.5, object.entries@npm:^1.1.6, object.entries@npm:^1.1.7":
"object.entries@npm:^1.1.6, object.entries@npm:^1.1.7":
version: 1.1.7
resolution: "object.entries@npm:1.1.7"
dependencies:
@@ -7739,7 +7684,7 @@ __metadata:
languageName: node
linkType: hard
"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1":
"semver@npm:^6.0.0, semver@npm:^6.3.1":
version: 6.3.1
resolution: "semver@npm:6.3.1"
bin:
@@ -8793,9 +8738,9 @@ __metadata:
languageName: node
linkType: hard
"vite@npm:^5.1.1":
version: 5.1.1
resolution: "vite@npm:5.1.1"
"vite@npm:^5.1.2":
version: 5.1.2
resolution: "vite@npm:5.1.2"
dependencies:
esbuild: "npm:^0.19.3"
fsevents: "npm:~2.3.3"
@@ -8829,7 +8774,7 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
checksum: 10/bdb8e683caddaa0a9adcbf40144ca8ea3660836b208862b07d43787ea867845919af16e58745365bd13ed3b7f66bbf9788a6869ee22cfaacac01645b59729c34
checksum: 10/fbfc5a84ee33c01cd2c3109ba08c2f3822df9a85bee79179ba5a812757f895e2da234208881b9943291d48b0a4ef8fb90ffaa790d89888530a2ad6c70c169e12
languageName: node
linkType: hard