diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..6d1a793
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,4 @@
+node_modules
+build
+public
+package.json
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..0f0f036
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,24 @@
+{
+ "arrowParens": "always",
+ "bracketSpacing": true,
+ "endOfLine": "lf",
+ "htmlWhitespaceSensitivity": "css",
+ "insertPragma": false,
+ "singleAttributePerLine": false,
+ "bracketSameLine": false,
+ "jsxBracketSameLine": false,
+ "jsxSingleQuote": false,
+ "printWidth": 80,
+ "proseWrap": "preserve",
+ "quoteProps": "as-needed",
+ "requirePragma": false,
+ "semi": true,
+ "singleQuote": false,
+ "tabWidth": 2,
+ "trailingComma": "es5",
+ "useTabs": false,
+ "embeddedLanguageFormatting": "auto",
+ "vueIndentScriptAndStyle": false,
+ "experimentalTernaries": false,
+ "parser": "babel"
+}
diff --git a/package.json b/package.json
index cd9f2c0..d0eb9e3 100644
--- a/package.json
+++ b/package.json
@@ -26,14 +26,15 @@
"start:userscript": "REACT_APP_CLIENT=userscript react-app-rewired start",
"build:chrome": "rm -rf build/chrome && BUILD_PATH=./build/chrome REACT_APP_CLIENT=chrome react-app-rewired build && rm build/chrome/content.html",
"build:edge": "rm -rf build/edge && cp -r build/chrome build/edge",
- "build:thunderbird": "rm -rf build/thunderbird && BUILD_PATH=./build/thunderbird REACT_APP_CLIENT=thunderbird react-app-rewired build && rm build/thunderbird/content.html && cp ./build/thunderbird/manifest.thunderbird.json ./build/thunderbird/manifest.json && rm build/*/manifest.thunderbird.json",
+ "build:thunderbird": "rm -rf build/thunderbird && BUILD_PATH=./build/thunderbird REACT_APP_CLIENT=thunderbird react-app-rewired build && rm build/thunderbird/content.html && cp ./build/thunderbird/manifest.thunderbird.json ./build/thunderbird/manifest.json && rm build/*/manifest.thunderbird.json",
"build:firefox": "rm -rf build/firefox && cp -r build/chrome build/firefox && cat ./build/firefox/manifest.firefox.json > ./build/firefox/manifest.json && rm build/*/manifest.firefox.json",
"build:web": "rm -rf build/web && BUILD_PATH=./build/web REACT_APP_CLIENT=userscript react-app-rewired build",
"build:userscript-ios": "file1=build/web/kiss-translator.user.js file2=build/web/kiss-translator-ios-safari.user.js && cp $file1 $file2 && sed -i 's|// @grant unsafeWindow|// @inject-into content|g' $file2",
"build:userscript": "rm -rf build/userscript && mkdir build/userscript && cp build/web/*.user.js build/userscript/",
"build:rules": "babel-node src/rules.js",
- "build": "pnpm build:chrome && pnpm build:edge && pnpm build:thunderbird && pnpm build:firefox && pnpm build:web && pnpm build:userscript-ios && pnpm build:userscript && pnpm build:rules",
+ "build": "pnpm format && pnpm build:chrome && pnpm build:edge && pnpm build:thunderbird && pnpm build:firefox && pnpm build:web && pnpm build:userscript-ios && pnpm build:userscript && pnpm build:rules",
"zip": "cd build && zip -r chrome.zip chrome && zip -r edge.zip edge && (cd firefox && zip -r ../firefox.zip .) && (cd thunderbird && zip -r ../thunderbird.zip .)",
+ "format": "prettier --write \"**/*.{js,json,html}\"",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
},
@@ -66,6 +67,7 @@
"@babel/node": "^7.22.19",
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@babel/preset-env": "^7.22.20",
+ "prettier": "3.6.2",
"react-app-rewired": "^2.2.1"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 24ccf69..ce0217c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -16,16 +16,16 @@ importers:
version: 11.11.1(@types/react@18.2.79)(react@18.2.0)
'@emotion/styled':
specifier: ^11.11.0
- version: 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.79)(react@18.2.0)
+ version: 11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)
'@mui/icons-material':
specifier: ^5.15.15
- version: 5.15.15(@mui/material@5.15.15)(@types/react@18.2.79)(react@18.2.0)
+ version: 5.15.15(@mui/material@5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)
'@mui/lab':
specifier: 5.0.0-alpha.170
- version: 5.0.0-alpha.170(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@mui/material@5.15.15)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ version: 5.0.0-alpha.170(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@mui/material@5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@mui/material':
specifier: ^5.15.15
- version: 5.15.15(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ version: 5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
query-string:
specifier: ^8.1.0
version: 8.1.0
@@ -40,10 +40,10 @@ importers:
version: 8.0.7(@types/react@18.2.79)(react@18.2.0)
react-router-dom:
specifier: ^6.16.0
- version: 6.16.0(react-dom@18.2.0)(react@18.2.0)
+ version: 6.16.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react-scripts:
specifier: 5.0.1
- version: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(typescript@5.4.5)
+ version: 5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(@types/babel__core@7.20.2)(eslint@8.57.0)(react@18.2.0)(type-fest@0.21.3)(typescript@5.4.5)
sval:
specifier: ^0.5.2
version: 0.5.2
@@ -66,9 +66,12 @@ importers:
'@babel/preset-env':
specifier: ^7.22.20
version: 7.22.20(@babel/core@7.22.20)
+ prettier:
+ specifier: 3.6.2
+ version: 3.6.2
react-app-rewired:
specifier: ^2.2.1
- version: 2.2.1(react-scripts@5.0.1)
+ version: 2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(@types/babel__core@7.20.2)(eslint@8.57.0)(react@18.2.0)(type-fest@0.21.3)(typescript@5.4.5))
packages:
@@ -1042,6 +1045,7 @@ packages:
'@humanwhocodes/config-array@0.11.14':
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
engines: {node: '>=10.10.0'}
+ deprecated: Use @eslint/config-array instead
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
@@ -1049,6 +1053,7 @@ packages:
'@humanwhocodes/object-schema@2.0.3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
+ deprecated: Use @eslint/object-schema instead
'@istanbuljs/load-nyc-config@1.1.0':
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
@@ -2780,6 +2785,7 @@ packages:
eslint@8.57.0:
resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
espree@9.6.1:
@@ -4721,6 +4727,11 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
+ prettier@3.6.2:
+ resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
pretty-bytes@5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
engines: {node: '>=6'}
@@ -6980,9 +6991,10 @@ snapshots:
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
'@emotion/utils': 1.2.1
'@emotion/weak-memoize': 0.3.1
- '@types/react': 18.2.79
hoist-non-react-statics: 3.3.2
react: 18.2.0
+ optionalDependencies:
+ '@types/react': 18.2.79
'@emotion/serialize@1.1.2':
dependencies:
@@ -6994,7 +7006,7 @@ snapshots:
'@emotion/sheet@1.2.2': {}
- '@emotion/styled@11.11.0(@emotion/react@11.11.1)(@types/react@18.2.79)(react@18.2.0)':
+ '@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)':
dependencies:
'@babel/runtime': 7.22.15
'@emotion/babel-plugin': 11.11.0
@@ -7003,8 +7015,9 @@ snapshots:
'@emotion/serialize': 1.1.2
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
'@emotion/utils': 1.2.1
- '@types/react': 18.2.79
react: 18.2.0
+ optionalDependencies:
+ '@types/react': 18.2.79
'@emotion/unitless@0.8.1': {}
@@ -7050,7 +7063,7 @@ snapshots:
'@floating-ui/core': 1.6.0
'@floating-ui/utils': 0.2.1
- '@floating-ui/react-dom@2.0.8(react-dom@18.2.0)(react@18.2.0)':
+ '@floating-ui/react-dom@2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@floating-ui/dom': 1.6.3
react: 18.2.0
@@ -7281,55 +7294,55 @@ snapshots:
'@leichtgewicht/ip-codec@2.0.4': {}
- '@mui/base@5.0.0-beta.40(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)':
+ '@mui/base@5.0.0-beta.40(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.4
- '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0)
+ '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@mui/types': 7.2.14(@types/react@18.2.79)
'@mui/utils': 5.15.14(@types/react@18.2.79)(react@18.2.0)
'@popperjs/core': 2.11.8
- '@types/react': 18.2.79
clsx: 2.1.0
prop-types: 15.8.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
+ optionalDependencies:
+ '@types/react': 18.2.79
'@mui/core-downloads-tracker@5.15.15': {}
- '@mui/icons-material@5.15.15(@mui/material@5.15.15)(@types/react@18.2.79)(react@18.2.0)':
+ '@mui/icons-material@5.15.15(@mui/material@5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.4
- '@mui/material': 5.15.15(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.79
+ '@mui/material': 5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
+ optionalDependencies:
+ '@types/react': 18.2.79
- '@mui/lab@5.0.0-alpha.170(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@mui/material@5.15.15)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)':
+ '@mui/lab@5.0.0-alpha.170(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@mui/material@5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.4
- '@emotion/react': 11.11.1(@types/react@18.2.79)(react@18.2.0)
- '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.79)(react@18.2.0)
- '@mui/base': 5.0.0-beta.40(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
- '@mui/material': 5.15.15(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
- '@mui/system': 5.15.15(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.79)(react@18.2.0)
+ '@mui/base': 5.0.0-beta.40(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ '@mui/material': 5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ '@mui/system': 5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)
'@mui/types': 7.2.14(@types/react@18.2.79)
'@mui/utils': 5.15.14(@types/react@18.2.79)(react@18.2.0)
- '@types/react': 18.2.79
clsx: 2.1.0
prop-types: 15.8.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
+ optionalDependencies:
+ '@emotion/react': 11.11.1(@types/react@18.2.79)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)
+ '@types/react': 18.2.79
- '@mui/material@5.15.15(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)':
+ '@mui/material@5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.4
- '@emotion/react': 11.11.1(@types/react@18.2.79)(react@18.2.0)
- '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.79)(react@18.2.0)
- '@mui/base': 5.0.0-beta.40(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/base': 5.0.0-beta.40(@types/react@18.2.79)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@mui/core-downloads-tracker': 5.15.15
- '@mui/system': 5.15.15(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.79)(react@18.2.0)
+ '@mui/system': 5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)
'@mui/types': 7.2.14(@types/react@18.2.79)
'@mui/utils': 5.15.14(@types/react@18.2.79)(react@18.2.0)
- '@types/react': 18.2.79
'@types/react-transition-group': 4.4.10
clsx: 2.1.0
csstype: 3.1.3
@@ -7337,53 +7350,61 @@ snapshots:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-is: 18.2.0
- react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0)
+ react-transition-group: 4.4.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ optionalDependencies:
+ '@emotion/react': 11.11.1(@types/react@18.2.79)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)
+ '@types/react': 18.2.79
'@mui/private-theming@5.15.14(@types/react@18.2.79)(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.4
'@mui/utils': 5.15.14(@types/react@18.2.79)(react@18.2.0)
- '@types/react': 18.2.79
prop-types: 15.8.1
react: 18.2.0
+ optionalDependencies:
+ '@types/react': 18.2.79
- '@mui/styled-engine@5.15.14(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)':
+ '@mui/styled-engine@5.15.14(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.4
'@emotion/cache': 11.11.0
- '@emotion/react': 11.11.1(@types/react@18.2.79)(react@18.2.0)
- '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.79)(react@18.2.0)
csstype: 3.1.3
prop-types: 15.8.1
react: 18.2.0
+ optionalDependencies:
+ '@emotion/react': 11.11.1(@types/react@18.2.79)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)
- '@mui/system@5.15.15(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.79)(react@18.2.0)':
+ '@mui/system@5.15.15(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.4
- '@emotion/react': 11.11.1(@types/react@18.2.79)(react@18.2.0)
- '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.79)(react@18.2.0)
'@mui/private-theming': 5.15.14(@types/react@18.2.79)(react@18.2.0)
- '@mui/styled-engine': 5.15.14(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
+ '@mui/styled-engine': 5.15.14(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)
'@mui/types': 7.2.14(@types/react@18.2.79)
'@mui/utils': 5.15.14(@types/react@18.2.79)(react@18.2.0)
- '@types/react': 18.2.79
clsx: 2.1.0
csstype: 3.1.3
prop-types: 15.8.1
react: 18.2.0
+ optionalDependencies:
+ '@emotion/react': 11.11.1(@types/react@18.2.79)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.1(@types/react@18.2.79)(react@18.2.0))(@types/react@18.2.79)(react@18.2.0)
+ '@types/react': 18.2.79
'@mui/types@7.2.14(@types/react@18.2.79)':
- dependencies:
+ optionalDependencies:
'@types/react': 18.2.79
'@mui/utils@5.15.14(@types/react@18.2.79)(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.4
'@types/prop-types': 15.7.11
- '@types/react': 18.2.79
prop-types: 15.8.1
react: 18.2.0
react-is: 18.2.0
+ optionalDependencies:
+ '@types/react': 18.2.79
'@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
dependencies:
@@ -7401,7 +7422,7 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.15.0
- '@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.88.2)':
+ '@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(type-fest@0.21.3)(webpack-dev-server@4.15.1(webpack@5.88.2))(webpack@5.88.2)':
dependencies:
ansi-html-community: 0.0.8
common-path-prefix: 3.0.0
@@ -7414,18 +7435,22 @@ snapshots:
schema-utils: 3.3.0
source-map: 0.7.4
webpack: 5.88.2
+ optionalDependencies:
+ type-fest: 0.21.3
webpack-dev-server: 4.15.1(webpack@5.88.2)
'@popperjs/core@2.11.8': {}
'@remix-run/router@1.9.0': {}
- '@rollup/plugin-babel@5.3.1(@babel/core@7.22.20)(rollup@2.79.1)':
+ '@rollup/plugin-babel@5.3.1(@babel/core@7.22.20)(@types/babel__core@7.20.2)(rollup@2.79.1)':
dependencies:
'@babel/core': 7.22.20
'@babel/helper-module-imports': 7.22.15
'@rollup/pluginutils': 3.1.0(rollup@2.79.1)
rollup: 2.79.1
+ optionalDependencies:
+ '@types/babel__core': 7.20.2
'@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1)':
dependencies:
@@ -7725,7 +7750,7 @@ snapshots:
dependencies:
'@types/yargs-parser': 21.0.0
- '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5)':
+ '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/regexpp': 4.8.1
'@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
@@ -7739,6 +7764,7 @@ snapshots:
natural-compare-lite: 1.4.0
semver: 7.5.4
tsutils: 3.21.0(typescript@5.4.5)
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -7758,6 +7784,7 @@ snapshots:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
debug: 4.3.4
eslint: 8.57.0
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -7774,6 +7801,7 @@ snapshots:
debug: 4.3.4
eslint: 8.57.0
tsutils: 3.21.0(typescript@5.4.5)
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -7789,6 +7817,7 @@ snapshots:
is-glob: 4.0.3
semver: 7.5.4
tsutils: 3.21.0(typescript@5.4.5)
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -7937,7 +7966,7 @@ snapshots:
- supports-color
ajv-formats@2.1.1(ajv@8.12.0):
- dependencies:
+ optionalDependencies:
ajv: 8.12.0
ajv-keywords@3.5.2(ajv@6.12.6):
@@ -8941,23 +8970,24 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
- eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.5):
+ eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.5):
dependencies:
'@babel/core': 7.22.20
'@babel/eslint-parser': 7.22.15(@babel/core@7.22.20)(eslint@8.57.0)
'@rushstack/eslint-patch': 1.4.0
- '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
'@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
babel-preset-react-app: 10.0.1
confusing-browser-globals: 1.0.11
eslint: 8.57.0
- eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)
- eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)
- eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.5)
+ eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(eslint@8.57.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)
+ eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.5)
eslint-plugin-jsx-a11y: 6.7.1(eslint@8.57.0)
eslint-plugin-react: 7.33.2(eslint@8.57.0)
eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
eslint-plugin-testing-library: 5.11.1(eslint@8.57.0)(typescript@5.4.5)
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- '@babel/plugin-syntax-flow'
@@ -8975,16 +9005,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
+ eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
dependencies:
- '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
debug: 3.2.7
+ optionalDependencies:
+ '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0):
+ eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(eslint@8.57.0):
dependencies:
'@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.22.20)
'@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.22.20)
@@ -8992,9 +9023,8 @@ snapshots:
lodash: 4.17.21
string-natural-compare: 3.0.1
- eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0):
+ eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0):
dependencies:
- '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3
array.prototype.flat: 1.3.2
@@ -9003,7 +9033,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
has: 1.0.3
is-core-module: 2.13.0
is-glob: 4.0.3
@@ -9013,16 +9043,19 @@ snapshots:
object.values: 1.1.7
semver: 6.3.1
tsconfig-paths: 3.14.2
+ optionalDependencies:
+ '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.5):
+ eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.5):
dependencies:
- '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.5)
'@typescript-eslint/experimental-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5)
eslint: 8.57.0
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
jest: 27.5.1
transitivePeerDependencies:
- supports-color
@@ -9358,7 +9391,6 @@ snapshots:
chokidar: 3.5.3
cosmiconfig: 6.0.0
deepmerge: 4.3.1
- eslint: 8.57.0
fs-extra: 9.1.0
glob: 7.2.3
memfs: 3.5.3
@@ -9368,6 +9400,8 @@ snapshots:
tapable: 1.1.3
typescript: 5.4.5
webpack: 5.88.2
+ optionalDependencies:
+ eslint: 8.57.0
form-data@3.0.1:
dependencies:
@@ -9620,12 +9654,13 @@ snapshots:
http-proxy-middleware@2.0.6(@types/express@4.17.17):
dependencies:
- '@types/express': 4.17.17
'@types/http-proxy': 1.17.12
http-proxy: 1.18.1
is-glob: 4.0.3
is-plain-obj: 3.0.0
micromatch: 4.0.5
+ optionalDependencies:
+ '@types/express': 4.17.17
transitivePeerDependencies:
- debug
@@ -10099,7 +10134,7 @@ snapshots:
'@types/node': 20.6.3
jest-pnp-resolver@1.2.3(jest-resolve@27.5.1):
- dependencies:
+ optionalDependencies:
jest-resolve: 27.5.1
jest-regex-util@27.5.1: {}
@@ -11157,8 +11192,9 @@ snapshots:
postcss-load-config@4.0.1(postcss@8.4.30):
dependencies:
lilconfig: 2.1.0
- postcss: 8.4.30
yaml: 2.3.2
+ optionalDependencies:
+ postcss: 8.4.30
postcss-loader@6.2.1(postcss@8.4.30)(webpack@5.88.2):
dependencies:
@@ -11435,6 +11471,8 @@ snapshots:
prelude-ls@1.2.1: {}
+ prettier@3.6.2: {}
+
pretty-bytes@5.6.0: {}
pretty-error@4.0.0:
@@ -11525,9 +11563,9 @@ snapshots:
regenerator-runtime: 0.13.11
whatwg-fetch: 3.6.19
- react-app-rewired@2.2.1(react-scripts@5.0.1):
+ react-app-rewired@2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(@types/babel__core@7.20.2)(eslint@8.57.0)(react@18.2.0)(type-fest@0.21.3)(typescript@5.4.5)):
dependencies:
- react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(typescript@5.4.5)
+ react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(@types/babel__core@7.20.2)(eslint@8.57.0)(react@18.2.0)(type-fest@0.21.3)(typescript@5.4.5)
semver: 5.7.2
react-dev-utils@12.0.1(eslint@8.57.0)(typescript@5.4.5)(webpack@5.88.2):
@@ -11556,8 +11594,9 @@ snapshots:
shell-quote: 1.8.1
strip-ansi: 6.0.1
text-table: 0.2.0
- typescript: 5.4.5
webpack: 5.88.2
+ optionalDependencies:
+ typescript: 5.4.5
transitivePeerDependencies:
- eslint
- supports-color
@@ -11601,7 +11640,7 @@ snapshots:
react-refresh@0.11.0: {}
- react-router-dom@6.16.0(react-dom@18.2.0)(react@18.2.0):
+ react-router-dom@6.16.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
'@remix-run/router': 1.9.0
react: 18.2.0
@@ -11613,10 +11652,10 @@ snapshots:
'@remix-run/router': 1.9.0
react: 18.2.0
- react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(typescript@5.4.5):
+ react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(@types/babel__core@7.20.2)(eslint@8.57.0)(react@18.2.0)(type-fest@0.21.3)(typescript@5.4.5):
dependencies:
'@babel/core': 7.22.20
- '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.88.2)
+ '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(type-fest@0.21.3)(webpack-dev-server@4.15.1(webpack@5.88.2))(webpack@5.88.2)
'@svgr/webpack': 5.5.0
babel-jest: 27.5.1(@babel/core@7.22.20)
babel-loader: 8.3.0(@babel/core@7.22.20)(webpack@5.88.2)
@@ -11631,7 +11670,7 @@ snapshots:
dotenv: 10.0.0
dotenv-expand: 5.1.0
eslint: 8.57.0
- eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.5)
+ eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.22.20))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.20))(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.5)
eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.88.2)
file-loader: 6.2.0(webpack@5.88.2)
fs-extra: 10.1.0
@@ -11659,13 +11698,13 @@ snapshots:
style-loader: 3.3.3(webpack@5.88.2)
tailwindcss: 3.3.3
terser-webpack-plugin: 5.3.9(webpack@5.88.2)
- typescript: 5.4.5
webpack: 5.88.2
webpack-dev-server: 4.15.1(webpack@5.88.2)
webpack-manifest-plugin: 4.1.1(webpack@5.88.2)
- workbox-webpack-plugin: 6.6.0(webpack@5.88.2)
+ workbox-webpack-plugin: 6.6.0(@types/babel__core@7.20.2)(webpack@5.88.2)
optionalDependencies:
fsevents: 2.3.3
+ typescript: 5.4.5
transitivePeerDependencies:
- '@babel/plugin-syntax-flow'
- '@babel/plugin-transform-react-jsx'
@@ -11699,7 +11738,7 @@ snapshots:
- webpack-hot-middleware
- webpack-plugin-serve
- react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0):
+ react-transition-group@4.4.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
'@babel/runtime': 7.24.4
dom-helpers: 5.2.1
@@ -12673,9 +12712,10 @@ snapshots:
serve-index: 1.9.1
sockjs: 0.3.24
spdy: 4.0.2
- webpack: 5.88.2
webpack-dev-middleware: 5.3.3(webpack@5.88.2)
ws: 8.14.2
+ optionalDependencies:
+ webpack: 5.88.2
transitivePeerDependencies:
- bufferutil
- debug
@@ -12816,13 +12856,13 @@ snapshots:
dependencies:
workbox-core: 6.6.0
- workbox-build@6.6.0:
+ workbox-build@6.6.0(@types/babel__core@7.20.2):
dependencies:
'@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0)
'@babel/core': 7.22.20
'@babel/preset-env': 7.22.20(@babel/core@7.22.20)
'@babel/runtime': 7.24.4
- '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.20)(rollup@2.79.1)
+ '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.20)(@types/babel__core@7.20.2)(rollup@2.79.1)
'@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1)
'@rollup/plugin-replace': 2.4.2(rollup@2.79.1)
'@surma/rollup-plugin-off-main-thread': 2.2.3
@@ -12915,14 +12955,14 @@ snapshots:
workbox-sw@6.6.0: {}
- workbox-webpack-plugin@6.6.0(webpack@5.88.2):
+ workbox-webpack-plugin@6.6.0(@types/babel__core@7.20.2)(webpack@5.88.2):
dependencies:
fast-json-stable-stringify: 2.1.0
pretty-bytes: 5.6.0
upath: 1.2.0
webpack: 5.88.2
webpack-sources: 1.4.3
- workbox-build: 6.6.0
+ workbox-build: 6.6.0(@types/babel__core@7.20.2)
transitivePeerDependencies:
- '@types/babel__core'
- supports-color
diff --git a/public/content.html b/public/content.html
index b9cedf7..4aae85d 100644
--- a/public/content.html
+++ b/public/content.html
@@ -1,4 +1,4 @@
-
+
@@ -16,7 +16,7 @@
}
@@ -105,28 +105,26 @@
You need to enable JavaScript to run this app.
- The
embargo has just lifted to confirm that AmpereOne is
- coming to Google Cloud with the C3A instances.
+ The
embargo has just lifted to confirm that AmpereOne is coming to
+ Google Cloud with the C3A instances.
But these upcoming instances for now are only in private preview form.
Needless to say I also haven't had any AmpereOne access to check out the
- performance and power efficiency of these new Arm server processors from
- Ampere Computing.
+ performance and power efficiency of these new Arm server processors from Ampere
+ Computing.
- React is a JavaScript library for building user interfaces.
+ React is a JavaScript library for building user interfaces.
-
+
-
+
Shadow 1
@@ -166,15 +164,47 @@
- React Server Components (or RSC) is a new application architecture
- designed by the React team.
+ React Server Components (or RSC) is a new application architecture designed by the
+ React team.
+ src="http://localhost:3000/index.html">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ We’ve first shared our research on RSC in an introductory talk and an RFC.
@@ -208,52 +238,10 @@
- We’ve first shared our research on RSC in an introductory talk and an
- RFC.
+ To recap them, we are introducing a new kind of component—Server Components—that
+ run ahead of time and are excluded from your JavaScript bundle.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- To recap them, we are introducing a new kind of component—Server
- Components—that run ahead of time and are excluded from your JavaScript
- bundle.
-
-
+
@@ -288,15 +276,14 @@
- Server Components can run during the build, letting you read from the
- filesystem or fetch static content.
+ Server Components can run during the build, letting you read from the filesystem
+ or fetch static content.
- They can also run on the server, letting you access your data layer
- without having to build an API. You can pass data by props from
- Server Components to the interactive Client Components in the
- browser.
+ They can also run on the server, letting you access your data layer without
+ having to build an API. You can pass data by props from Server Components to
+ the interactive Client Components in the browser.
以声明式编写 UI,可以让你的代码更加可靠,且方便调试。
@@ -315,14 +302,14 @@
- Since our last update, we have merged the React Server Components RFC
- to ratify the proposal.
+ Since our last update, we have merged the React Server Components RFC to ratify
+ the proposal.
- RSC combines the simple “request/response” mental model of
- server-centric Multi-Page Apps with the seamless interactivity of
- client-centric Single-Page Apps, giving you the best of both worlds.
+ RSC combines the simple “request/response” mental model of server-centric
+ Multi-Page Apps with the seamless interactivity of client-centric Single-Page
+ Apps, giving you the best of both worlds.
React 使创建交互式 UI
diff --git a/public/index.html b/public/index.html
index c991e69..69ba734 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/public/manifest.json b/public/manifest.json
index 91ae527..8a59acb 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -45,12 +45,7 @@
"description": "__MSG_open_options__"
}
},
- "permissions": [
- "storage",
- "contextMenus",
- "scripting",
- "declarativeNetRequest"
- ],
+ "permissions": ["storage", "contextMenus", "scripting", "declarativeNetRequest"],
"host_permissions": [""],
"icons": {
"16": "images/logo16.png",
diff --git a/public/manifest.thunderbird.json b/public/manifest.thunderbird.json
index 2aa3459..718049d 100644
--- a/public/manifest.thunderbird.json
+++ b/public/manifest.thunderbird.json
@@ -11,7 +11,7 @@
"id": "yugang2002@gmail.com",
"strict_min_version": "78.0"
}
- },
+ },
"background": {
"scripts": ["background.js"]
},
@@ -54,7 +54,7 @@
"",
"storage",
"menus",
- "messagesModify",
+ "messagesModify",
"scripting",
"declarativeNetRequest"
],
diff --git a/src/background.js b/src/background.js
index 8d1fb23..b9c495a 100644
--- a/src/background.js
+++ b/src/background.js
@@ -128,10 +128,10 @@ async function updateCspRules(csplist = DEFAULT_CSPLIST.join(",\n")) {
* 注册邮件显示脚本
*/
async function registerMsgDisplayScript() {
- await messenger.messageDisplayScripts.register({
- js: [{file: "/content.js"}]
- });
- }
+ await messenger.messageDisplayScripts.register({
+ js: [{ file: "/content.js" }],
+ });
+}
/**
* 插件安装
@@ -143,7 +143,7 @@ browser.runtime.onInstalled.addListener(() => {
if (process.env.REACT_APP_CLIENT === CLIENT_THUNDERBIRD) {
registerMsgDisplayScript();
}
-
+
// 右键菜单
addContextMenus();
diff --git a/src/config/i18n.js b/src/config/i18n.js
index 75eff3f..46051dd 100644
--- a/src/config/i18n.js
+++ b/src/config/i18n.js
@@ -186,19 +186,19 @@ export const I18N = {
zh: `最大并发请求数量 (1-100)`,
en: `Maximum Number Of Concurrent Requests (1-100)`,
},
- if_think: {
+ if_think: {
zh: `启用或禁用模型的深度思考能力`,
en: `Enable or disable the model’s thinking behavior `,
},
- think: {
+ think: {
zh: `启用深度思考`,
en: `enable thinking`,
},
- nothink: {
+ nothink: {
zh: `禁用深度思考`,
en: `disable thinking`,
},
- think_ignore: {
+ think_ignore: {
zh: `忽略以下模型的输出,逗号(,)分割,当模型支持思考但ollama不支持时需要填写本参数`,
en: `Ignore the block for the following models, comma (,) separated`,
},
@@ -969,5 +969,5 @@ export const I18N = {
translate_selected: {
zh: `是否启用划词翻译`,
en: `If translate selected`,
- }
+ },
};
diff --git a/src/views/Options/FavWords.js b/src/views/Options/FavWords.js
index 5a34fe2..65dafb7 100644
--- a/src/views/Options/FavWords.js
+++ b/src/views/Options/FavWords.js
@@ -96,9 +96,7 @@ export default function FavWords() {
.join(" "),
dictResult.content[0].mean
.map(({ pre, cont }) => {
- return ` - ${pre ? `[${pre}] ` : ""}${Object.keys(cont).join(
- "; "
- )}`;
+ return ` - ${pre ? `[${pre}] ` : ""}${Object.keys(cont).join("; ")}`;
})
.join("\n"),
].join("\n\n")
diff --git a/src/views/Selection/DictCont.js b/src/views/Selection/DictCont.js
index b4af414..5c51e5e 100644
--- a/src/views/Selection/DictCont.js
+++ b/src/views/Selection/DictCont.js
@@ -93,9 +93,7 @@ export default function DictCont({ text }) {
key={key}
style={{ display: "inline-block" }}
>
- {`${
- PHONIC_MAP[key]?.[0] || key
- } ${val}`}
+ {`${PHONIC_MAP[key]?.[0] || key} ${val}`}
))}