diff --git a/package.json b/package.json
index d1de012..af746a7 100644
--- a/package.json
+++ b/package.json
@@ -19,14 +19,14 @@
"@babel/preset-react": "^7.24.1",
"@babel/preset-typescript": "^7.24.1",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.13",
- "@types/chrome": "^0.0.267",
+ "@types/chrome": "^0.0.268",
"@types/md5": "^2.3.5",
- "@types/react": "^18.3.1",
+ "@types/react": "^18.3.2",
"@types/react-beautiful-dnd": "^13.1.8",
"@types/react-dom": "^18.3.0",
"@types/uuid": "^9.0.8",
- "@typescript-eslint/eslint-plugin": "^7.8.0",
- "@typescript-eslint/parser": "^7.8.0",
+ "@typescript-eslint/eslint-plugin": "^7.9.0",
+ "@typescript-eslint/parser": "^7.9.0",
"babel-loader": "^9.1.3",
"clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "12.0.2",
@@ -96,9 +96,10 @@
"he": "^1.2.0",
"i18next": "^23.11.4",
"libmuse": "git+https://github.com/lovegaoshi/muse.git#apm-release",
- "material-ui-confirm": "^3.0.12",
+ "material-ui-confirm": "^3.0.14",
"md5": "^2.3.0",
"notistack": "^3.0.1",
+ "octokit": "^4.0.2",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",
"prop-types": "^15.8.1",
diff --git a/src/azusa-player-mobile b/src/azusa-player-mobile
index 8411e11..199c7ae 160000
--- a/src/azusa-player-mobile
+++ b/src/azusa-player-mobile
@@ -1 +1 @@
-Subproject commit 8411e11046b09b7a9c563840b9619530f871baf8
+Subproject commit 199c7aec6fd6778beefd28d491ce10652b815777
diff --git a/src/components/lyric/Lyric.tsx b/src/components/lyric/Lyric.tsx
index ebaacec..8e4cc7b 100644
--- a/src/components/lyric/Lyric.tsx
+++ b/src/components/lyric/Lyric.tsx
@@ -111,33 +111,30 @@ export default withStyles(styles)((props: Props) => {
/>
-
-
-
-
- setSongTitle(e.target.value)}
- />
-
+
+ setSongTitle(e.target.value)}
+ />
diff --git a/src/components/setting/SyncSetting.tsx b/src/components/setting/SyncSetting.tsx
index 4dea47f..4dd3998 100644
--- a/src/components/setting/SyncSetting.tsx
+++ b/src/components/setting/SyncSetting.tsx
@@ -16,6 +16,7 @@ import {
import { ExportFavButton, ImportFavButton } from './sync/LocalSyncButton';
import DropboxSyncButton from './sync/DropboxAuth';
import GiteeSyncButton from './sync/GiteeAuth';
+import GithubSyncButton from './sync/GithubAuth';
function SyncSetttingButtons() {
const playerSettings = useStore(
@@ -47,7 +48,7 @@ function SyncSetttingButtons() {
{
- await initializeFromSync(v);
+ initializeFromSync(v);
}}
/>
);
@@ -56,7 +57,16 @@ function SyncSetttingButtons() {
{
- await initializeFromSync(v);
+ initializeFromSync(v);
+ }}
+ />
+ );
+ case SyncOptions.GITHUB:
+ return (
+ {
+ initializeFromSync(v);
}}
/>
);
diff --git a/src/components/setting/sync/GenericSyncButton.tsx b/src/components/setting/sync/GenericSyncButton.tsx
index 2e874eb..4005381 100644
--- a/src/components/setting/sync/GenericSyncButton.tsx
+++ b/src/components/setting/sync/GenericSyncButton.tsx
@@ -102,7 +102,7 @@ function ExportSyncFavButton({ noxBackup, login, sx }: ExportPropsR) {
const cloudUpload = async () => {
const exportedDict = await exportStorageRaw();
const response = await noxBackup(exportedDict);
- if (response.status === 200) {
+ if (response.status === 200 || response.status === 201) {
enqueueSnackbar('歌单上传到云端成功!', {
variant: 'success',
autoHideDuration: 4000,
diff --git a/src/components/setting/sync/GithubAuth.ts b/src/components/setting/sync/GithubAuth.ts
new file mode 100644
index 0000000..152ad8f
--- /dev/null
+++ b/src/components/setting/sync/GithubAuth.ts
@@ -0,0 +1,69 @@
+import {
+ checkAuthentication,
+ noxBackup,
+ noxRestore,
+} from '@APM/utils/sync/Github';
+import { logger } from '@utils/Logger';
+import GenericSyncButton, { GenericPropsR } from './GenericSyncButton';
+
+let authToken = '';
+const clientId = process.env.GITHUB_KEY;
+const clientSecret = process.env.GITHUB_SECRET;
+const redirectURI = chrome.identity.getRedirectURL();
+
+export const getAuth = async (
+ callback = (_v?: string) => checkAuthentication(authToken).then(console.log),
+ errorHandling = logger.error,
+) =>
+ chrome.identity.launchWebAuthFlow(
+ {
+ url: `https://github.com/login/oauth/authorize?client_id=${clientId}&redirect_uri=${redirectURI}&scope=repo,user,administration:write`,
+ interactive: true,
+ },
+ async (responseUrl) => {
+ if (responseUrl === undefined) {
+ errorHandling('no response url returned. auth aborted by user.');
+ } else {
+ const authCode = new URL(responseUrl).searchParams.get('code');
+ const res = await fetch(
+ `https://github.com/login/oauth/access_token?code=${authCode}&client_id=${clientId}&redirect_uri=${redirectURI}&client_secret=${clientSecret}
+ `,
+ { method: 'POST' },
+ );
+ authToken = new URL(
+ `https://foo.com/bar?${await res.text()}`,
+ ).searchParams.get('access_token')!;
+ callback(responseUrl);
+ }
+ },
+ );
+
+const login = async (
+ callback: () => Promise = async () => undefined,
+ errorCallback = logger.error,
+) => {
+ try {
+ if (!(await checkAuthentication())) {
+ logger.debug('github token expired, need to log in');
+ await getAuth(callback, errorCallback);
+ } else {
+ callback();
+ }
+ return true;
+ } catch (e) {
+ logger.warn('github fail');
+ errorCallback(e);
+ return false;
+ }
+};
+
+const GiteeSyncButton = ({ restoreFromUint8Array, sx }: GenericPropsR) =>
+ GenericSyncButton({
+ restoreFromUint8Array,
+ noxBackup: (v) => noxBackup(v, authToken),
+ noxRestore: () => noxRestore(authToken),
+ login,
+ sx,
+ });
+
+export default GiteeSyncButton;
diff --git a/yarn.lock b/yarn.lock
index a40c81e..455dfaf 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2487,6 +2487,282 @@ __metadata:
languageName: node
linkType: hard
+"@octokit/app@npm:^15.0.0":
+ version: 15.0.1
+ resolution: "@octokit/app@npm:15.0.1"
+ dependencies:
+ "@octokit/auth-app": "npm:^7.0.0"
+ "@octokit/auth-unauthenticated": "npm:^6.0.0"
+ "@octokit/core": "npm:^6.1.2"
+ "@octokit/oauth-app": "npm:^7.0.0"
+ "@octokit/plugin-paginate-rest": "npm:^11.0.0"
+ "@octokit/types": "npm:^13.0.0"
+ "@octokit/webhooks": "npm:^13.0.0"
+ checksum: 10c0/1259d2b312a9372d6d0004eecf32e931be5aafc577318bf03fc07a9d2d31c3ef0f339705d893c6b64ed83d890abacf2b31a55423b76cca20f60887f1bda5f959
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-app@npm:^7.0.0":
+ version: 7.1.0
+ resolution: "@octokit/auth-app@npm:7.1.0"
+ dependencies:
+ "@octokit/auth-oauth-app": "npm:^8.1.0"
+ "@octokit/auth-oauth-user": "npm:^5.1.0"
+ "@octokit/request": "npm:^9.1.1"
+ "@octokit/request-error": "npm:^6.1.1"
+ "@octokit/types": "npm:^13.4.1"
+ lru-cache: "npm:^10.0.0"
+ universal-github-app-jwt: "npm:^2.2.0"
+ universal-user-agent: "npm:^7.0.0"
+ checksum: 10c0/f5a2675518f31410790b80a44fc95bdcc2fb4bcefe9497adb7167b4949a24015f7effdc7da0ef07bdd0ce97a1fbd2885bd6385a2cc2163752ffa6aec5907cad9
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-oauth-app@npm:^8.0.0, @octokit/auth-oauth-app@npm:^8.1.0":
+ version: 8.1.1
+ resolution: "@octokit/auth-oauth-app@npm:8.1.1"
+ dependencies:
+ "@octokit/auth-oauth-device": "npm:^7.0.0"
+ "@octokit/auth-oauth-user": "npm:^5.0.1"
+ "@octokit/request": "npm:^9.0.0"
+ "@octokit/types": "npm:^13.0.0"
+ universal-user-agent: "npm:^7.0.0"
+ checksum: 10c0/e55593fa9ab50c7bc1038545754fd88cc1bf82f40ebe9f893f4472905cbac299c0855816c12d4e0b9357ca068e7be1ab8cd94a591c0f12c1546ca6a01bc2f208
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-oauth-device@npm:^7.0.0, @octokit/auth-oauth-device@npm:^7.0.1":
+ version: 7.1.1
+ resolution: "@octokit/auth-oauth-device@npm:7.1.1"
+ dependencies:
+ "@octokit/oauth-methods": "npm:^5.0.0"
+ "@octokit/request": "npm:^9.0.0"
+ "@octokit/types": "npm:^13.0.0"
+ universal-user-agent: "npm:^7.0.0"
+ checksum: 10c0/77f33fceac51c4f5415b9adc2cb92ead8da6212c43ffaaff02f076504665df21f986f888a7d0605cf10c550e7dbd9aa39d9986302078e67f3889d8f32a936569
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-oauth-user@npm:^5.0.1, @octokit/auth-oauth-user@npm:^5.1.0":
+ version: 5.1.1
+ resolution: "@octokit/auth-oauth-user@npm:5.1.1"
+ dependencies:
+ "@octokit/auth-oauth-device": "npm:^7.0.1"
+ "@octokit/oauth-methods": "npm:^5.0.0"
+ "@octokit/request": "npm:^9.0.1"
+ "@octokit/types": "npm:^13.0.0"
+ universal-user-agent: "npm:^7.0.0"
+ checksum: 10c0/ab99409541f27285cfc9d66054878e2719bbd1a52821c68e84c621ff77f56c3295c69f6bf3cab9db75f9b0ffa33a9def7d0bc76a550c48728d23122f1b9f7ba6
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-token@npm:^5.0.0":
+ version: 5.1.1
+ resolution: "@octokit/auth-token@npm:5.1.1"
+ checksum: 10c0/1e6117c5170de9a5532ffb85e0bda153f4dffdd66871c42de952828eddd9029fe5161a2a8bf20b57f0d45c80f8fb9ddc69aa639e0fa6b776829efb1b0881b154
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-unauthenticated@npm:^6.0.0, @octokit/auth-unauthenticated@npm:^6.0.0-beta.1":
+ version: 6.1.0
+ resolution: "@octokit/auth-unauthenticated@npm:6.1.0"
+ dependencies:
+ "@octokit/request-error": "npm:^6.0.1"
+ "@octokit/types": "npm:^13.0.0"
+ checksum: 10c0/685bfeb30a0e75e7b1d31fc3c231b6dcedd5f15fee989de9bb11574630593cec78f7667b7e5a20f151ac2ed0db7bfecad7b1f0dc6750f0cb15dd37d7b746e240
+ languageName: node
+ linkType: hard
+
+"@octokit/core@npm:^6.0.0, @octokit/core@npm:^6.1.2":
+ version: 6.1.2
+ resolution: "@octokit/core@npm:6.1.2"
+ dependencies:
+ "@octokit/auth-token": "npm:^5.0.0"
+ "@octokit/graphql": "npm:^8.0.0"
+ "@octokit/request": "npm:^9.0.0"
+ "@octokit/request-error": "npm:^6.0.1"
+ "@octokit/types": "npm:^13.0.0"
+ before-after-hook: "npm:^3.0.2"
+ universal-user-agent: "npm:^7.0.0"
+ checksum: 10c0/f73be16a8013f69197b7744de75537d869f3a2061dda25dcde746d23b87f305bbdc7adbfe044ab0755eec32e6d54d61c73f4ca788d214eba8e88648a3133733e
+ languageName: node
+ linkType: hard
+
+"@octokit/endpoint@npm:^10.0.0":
+ version: 10.1.1
+ resolution: "@octokit/endpoint@npm:10.1.1"
+ dependencies:
+ "@octokit/types": "npm:^13.0.0"
+ universal-user-agent: "npm:^7.0.2"
+ checksum: 10c0/946517241b33db075e7b3fd8abc6952b9e32be312197d07d415dbefb35b93d26afd508f64315111de7cabc2638d4790a9b0b366cf6cc201de5ec6997c7944c8b
+ languageName: node
+ linkType: hard
+
+"@octokit/graphql@npm:^8.0.0":
+ version: 8.1.1
+ resolution: "@octokit/graphql@npm:8.1.1"
+ dependencies:
+ "@octokit/request": "npm:^9.0.0"
+ "@octokit/types": "npm:^13.0.0"
+ universal-user-agent: "npm:^7.0.0"
+ checksum: 10c0/fe68b89b21416f56bc9c0d19bba96a9a8ee567312b6fb764b05ea0649a5e44bec71665a0013e7c34304eb77c20ad7e7a7cf43b87ea27c280350229d71034c131
+ languageName: node
+ linkType: hard
+
+"@octokit/oauth-app@npm:^7.0.0":
+ version: 7.1.2
+ resolution: "@octokit/oauth-app@npm:7.1.2"
+ dependencies:
+ "@octokit/auth-oauth-app": "npm:^8.0.0"
+ "@octokit/auth-oauth-user": "npm:^5.0.1"
+ "@octokit/auth-unauthenticated": "npm:^6.0.0-beta.1"
+ "@octokit/core": "npm:^6.0.0"
+ "@octokit/oauth-authorization-url": "npm:^7.0.0"
+ "@octokit/oauth-methods": "npm:^5.0.0"
+ "@types/aws-lambda": "npm:^8.10.83"
+ universal-user-agent: "npm:^7.0.0"
+ checksum: 10c0/d56f4b2259516c9740137d0d97f7c264cfff97ad7d29060f66bfab6846a3a826fcf316fcd206ada0706bf89aa0f1d4c332ad7ecd73ce09d50ce36ccc8bda155b
+ languageName: node
+ linkType: hard
+
+"@octokit/oauth-authorization-url@npm:^7.0.0":
+ version: 7.1.1
+ resolution: "@octokit/oauth-authorization-url@npm:7.1.1"
+ checksum: 10c0/a2723dde503693d4b0793bc43988d7445bdbd1a4e4994f4e94e635816c87b12a3058609eb5982d91783ddf6cdf663ccdb954b5d05efdc59cb66bc0456d7ba370
+ languageName: node
+ linkType: hard
+
+"@octokit/oauth-methods@npm:^5.0.0":
+ version: 5.1.2
+ resolution: "@octokit/oauth-methods@npm:5.1.2"
+ dependencies:
+ "@octokit/oauth-authorization-url": "npm:^7.0.0"
+ "@octokit/request": "npm:^9.1.0"
+ "@octokit/request-error": "npm:^6.1.0"
+ "@octokit/types": "npm:^13.0.0"
+ checksum: 10c0/ab41396ee3d2beb7cceb922a06893a9f70825f9f5895b1ceea6337b8df7ac82d70110707879f0818557bb38cb9fc7756dfc380101b983aa214af0d3cb698aa6d
+ languageName: node
+ linkType: hard
+
+"@octokit/openapi-types@npm:^22.2.0":
+ version: 22.2.0
+ resolution: "@octokit/openapi-types@npm:22.2.0"
+ checksum: 10c0/a45bfc735611e836df0729f5922bbd5811d401052b972d1e3bc1278a2d2403e00f4552ce9d1f2793f77f167d212da559c5cb9f1b02c935114ad6d898779546ee
+ languageName: node
+ linkType: hard
+
+"@octokit/openapi-webhooks-types@npm:8.2.1":
+ version: 8.2.1
+ resolution: "@octokit/openapi-webhooks-types@npm:8.2.1"
+ checksum: 10c0/9efd4eb29dc02ce0184cc8de3746ab4f1b260cfc37e714273ad16553ef69701cb71b43e6993bef1f648e5f7e343e13641bdb823ccfdd7ab9b89ff612cd04f954
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-paginate-graphql@npm:^5.0.0":
+ version: 5.2.2
+ resolution: "@octokit/plugin-paginate-graphql@npm:5.2.2"
+ peerDependencies:
+ "@octokit/core": ">=6"
+ checksum: 10c0/726944d27459cf5f5682a65b52c01821d023a5b9d7a9ad3078070ebfd839a4819fb1ada64255a04ee0ef15dd43ee3286295a7a071e42d738221104aaa0f235d5
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-paginate-rest@npm:^11.0.0":
+ version: 11.3.1
+ resolution: "@octokit/plugin-paginate-rest@npm:11.3.1"
+ dependencies:
+ "@octokit/types": "npm:^13.5.0"
+ peerDependencies:
+ "@octokit/core": 5
+ checksum: 10c0/72107ff7e459c49d1f13bbe44ac07b073497692eba28cb5ac6dbfa41e0ebc059ad7bccfa3dd45d3165348adcc2ede8ac159f8a9b637389b8e335af16aaa01469
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-rest-endpoint-methods@npm:^13.0.0":
+ version: 13.2.2
+ resolution: "@octokit/plugin-rest-endpoint-methods@npm:13.2.2"
+ dependencies:
+ "@octokit/types": "npm:^13.5.0"
+ peerDependencies:
+ "@octokit/core": ^5
+ checksum: 10c0/0f2b14b7a185b49908bcc01bcae9849aae2da46c88f500c143d230caa3cd35540839b916e88a4642c60a5499d33e7a37faf1aa42c5bab270cefc10f5d6202893
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-retry@npm:^7.0.0":
+ version: 7.1.1
+ resolution: "@octokit/plugin-retry@npm:7.1.1"
+ dependencies:
+ "@octokit/request-error": "npm:^6.0.0"
+ "@octokit/types": "npm:^13.0.0"
+ bottleneck: "npm:^2.15.3"
+ peerDependencies:
+ "@octokit/core": ">=6"
+ checksum: 10c0/53365c0440ee73ca4379cab43ec71d524bc00c221ab393a7733a6c25240414337c93e52149883bbf013077641d5b3db14fc1d161a1c443bc0984c7f7ea818a67
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-throttling@npm:^9.0.0":
+ version: 9.3.0
+ resolution: "@octokit/plugin-throttling@npm:9.3.0"
+ dependencies:
+ "@octokit/types": "npm:^13.0.0"
+ bottleneck: "npm:^2.15.3"
+ peerDependencies:
+ "@octokit/core": ^6.0.0
+ checksum: 10c0/402368a422e6ed4092acf2aa21117ef92e1c4da22aab0fcfa32a1e57c7a021844605551af6c24e5b866cc4c4d601227bba88cea25c40712fc2d79b36ece5bf9d
+ languageName: node
+ linkType: hard
+
+"@octokit/request-error@npm:^6.0.0, @octokit/request-error@npm:^6.0.1, @octokit/request-error@npm:^6.1.0, @octokit/request-error@npm:^6.1.1":
+ version: 6.1.1
+ resolution: "@octokit/request-error@npm:6.1.1"
+ dependencies:
+ "@octokit/types": "npm:^13.0.0"
+ checksum: 10c0/55b61da0b2dc05d64862f6ca34ee4eed25b82a30d32da77f8fa11e90b30d0cd454817802e47263e8a171e215ccc41e2e2a9668baa6eed0d686aeac0aabc4cb4a
+ languageName: node
+ linkType: hard
+
+"@octokit/request@npm:^9.0.0, @octokit/request@npm:^9.0.1, @octokit/request@npm:^9.1.0, @octokit/request@npm:^9.1.1":
+ version: 9.1.1
+ resolution: "@octokit/request@npm:9.1.1"
+ dependencies:
+ "@octokit/endpoint": "npm:^10.0.0"
+ "@octokit/request-error": "npm:^6.0.1"
+ "@octokit/types": "npm:^13.1.0"
+ universal-user-agent: "npm:^7.0.2"
+ checksum: 10c0/60ad38ffc07b7f8148d146182da9dbcedffb0394ccea583272ac1cb92ede764039273960b449e8591fbf909f30d45e76840713e8533b5fe34140d1dbd2214948
+ languageName: node
+ linkType: hard
+
+"@octokit/types@npm:^13.0.0, @octokit/types@npm:^13.1.0, @octokit/types@npm:^13.4.1, @octokit/types@npm:^13.5.0":
+ version: 13.5.0
+ resolution: "@octokit/types@npm:13.5.0"
+ dependencies:
+ "@octokit/openapi-types": "npm:^22.2.0"
+ checksum: 10c0/355ebc6776ce23feace1b1be0927cdda758790fda83068109c4f27b354dcd43d0447d4dc24e5eafdb596465469ea1baed23f3fd63adfec508cc375ccd1dcb0a3
+ languageName: node
+ linkType: hard
+
+"@octokit/webhooks-methods@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "@octokit/webhooks-methods@npm:5.1.0"
+ checksum: 10c0/8f59f960c44ed9bdecd0f4a71ec6a50d490e9b46aa588887df8a69b15722262ce4cc02f0c1915cc145b452fd5b1e38e4b4ab0fb1d92e151308da550a7dfc1f6a
+ languageName: node
+ linkType: hard
+
+"@octokit/webhooks@npm:^13.0.0":
+ version: 13.2.7
+ resolution: "@octokit/webhooks@npm:13.2.7"
+ dependencies:
+ "@octokit/openapi-webhooks-types": "npm:8.2.1"
+ "@octokit/request-error": "npm:^6.0.1"
+ "@octokit/webhooks-methods": "npm:^5.0.0"
+ aggregate-error: "npm:^5.0.0"
+ checksum: 10c0/1abda61da4567732104478269cd67c787604a806e0dcaf4f2b259dee83f49c1edb7550bd09d4c4371f332a1fe3f0a30ed3a5818721292157da895da634386a71
+ languageName: node
+ linkType: hard
+
"@pkgjs/parseargs@npm:^0.11.0":
version: 0.11.0
resolution: "@pkgjs/parseargs@npm:0.11.0"
@@ -2575,6 +2851,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/aws-lambda@npm:^8.10.83":
+ version: 8.10.137
+ resolution: "@types/aws-lambda@npm:8.10.137"
+ checksum: 10c0/32272f8e9dfa88987cbc68e999554225d07282c3a884d769cdec7116fcec1f7e716914a9ac0d8afd79cf6c955b09e7bcfa6258dda6daa3f532c7eb97bf47bff1
+ languageName: node
+ linkType: hard
+
"@types/body-parser@npm:*":
version: 1.19.5
resolution: "@types/body-parser@npm:1.19.5"
@@ -2594,13 +2877,13 @@ __metadata:
languageName: node
linkType: hard
-"@types/chrome@npm:^0.0.267":
- version: 0.0.267
- resolution: "@types/chrome@npm:0.0.267"
+"@types/chrome@npm:^0.0.268":
+ version: 0.0.268
+ resolution: "@types/chrome@npm:0.0.268"
dependencies:
"@types/filesystem": "npm:*"
"@types/har-format": "npm:*"
- checksum: 10c0/baa2e526c86e0c092668eff8fdca35c3eea09f0cded9bab86d692ae3834955bfa49d3c064c51b003406099cce73060872c8c824ceef526c72a446c863a2b520c
+ checksum: 10c0/2701a43ec00d102302adeb9c8b8ff3f7644c0359fada720e4c9c74f6fa4ac3b14ce231d4fbba743e6e758e9741f738d4d333b005e9a3ebb7fac23c13792bd532
languageName: node
linkType: hard
@@ -2740,7 +3023,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9":
+"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9":
version: 7.0.15
resolution: "@types/json-schema@npm:7.0.15"
checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db
@@ -2892,13 +3175,13 @@ __metadata:
languageName: node
linkType: hard
-"@types/react@npm:^18.3.1":
- version: 18.3.1
- resolution: "@types/react@npm:18.3.1"
+"@types/react@npm:^18.3.2":
+ version: 18.3.2
+ resolution: "@types/react@npm:18.3.2"
dependencies:
"@types/prop-types": "npm:*"
csstype: "npm:^3.0.2"
- checksum: 10c0/18d856c12a4ec93f3cda2d58ef3d77a9480818afd3af895f812896fb82cfca1f35a692ab1add4ce826a4eb58a071624c7d1c8c6c4ccfb81c100d2916dc607614
+ checksum: 10c0/9fb2f1fcf7e889ee4ea7c3c5978df595c66e770e5fd3a245dbdd2589b9b911524c11dab25a6275d8af4e336e4cb5fa850d447884b84c335a187a338c89df99ba
languageName: node
linkType: hard
@@ -2916,13 +3199,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/semver@npm:^7.5.8":
- version: 7.5.8
- resolution: "@types/semver@npm:7.5.8"
- checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa
- languageName: node
- linkType: hard
-
"@types/send@npm:*":
version: 0.17.4
resolution: "@types/send@npm:0.17.4"
@@ -2978,20 +3254,18 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/eslint-plugin@npm:^7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/eslint-plugin@npm:7.8.0"
+"@typescript-eslint/eslint-plugin@npm:^7.9.0":
+ version: 7.9.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:7.9.0"
dependencies:
"@eslint-community/regexpp": "npm:^4.10.0"
- "@typescript-eslint/scope-manager": "npm:7.8.0"
- "@typescript-eslint/type-utils": "npm:7.8.0"
- "@typescript-eslint/utils": "npm:7.8.0"
- "@typescript-eslint/visitor-keys": "npm:7.8.0"
- debug: "npm:^4.3.4"
+ "@typescript-eslint/scope-manager": "npm:7.9.0"
+ "@typescript-eslint/type-utils": "npm:7.9.0"
+ "@typescript-eslint/utils": "npm:7.9.0"
+ "@typescript-eslint/visitor-keys": "npm:7.9.0"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.3.1"
natural-compare: "npm:^1.4.0"
- semver: "npm:^7.6.0"
ts-api-utils: "npm:^1.3.0"
peerDependencies:
"@typescript-eslint/parser": ^7.0.0
@@ -2999,44 +3273,44 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/37ca22620d1834ff0baa28fa4b8fd92039a3903cb95748353de32d56bae2a81ce50d1bbaed27487eebc884e0a0f9387fcb0f1647593e4e6df5111ef674afa9f0
+ checksum: 10c0/5c0ded9cb2210c141d236075f01a86447bf497a5061773c3c64a90756264776b4c4df100f7588e36d34f727eca55afd52fe6696a3cbe2d1f131250934254603a
languageName: node
linkType: hard
-"@typescript-eslint/parser@npm:^7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/parser@npm:7.8.0"
+"@typescript-eslint/parser@npm:^7.9.0":
+ version: 7.9.0
+ resolution: "@typescript-eslint/parser@npm:7.9.0"
dependencies:
- "@typescript-eslint/scope-manager": "npm:7.8.0"
- "@typescript-eslint/types": "npm:7.8.0"
- "@typescript-eslint/typescript-estree": "npm:7.8.0"
- "@typescript-eslint/visitor-keys": "npm:7.8.0"
+ "@typescript-eslint/scope-manager": "npm:7.9.0"
+ "@typescript-eslint/types": "npm:7.9.0"
+ "@typescript-eslint/typescript-estree": "npm:7.9.0"
+ "@typescript-eslint/visitor-keys": "npm:7.9.0"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/0dd994c1b31b810c25e1b755b8d352debb7bf21a31f9a91acaec34acf4e471320bcceaa67cf64c110c0b8f5fac10a037dbabac6ec423e17adf037e59a7bce9c1
+ checksum: 10c0/16ca04645429436d9b7986cddda979ef4d088f4223f4a69e04a369e0fd4852dd5ff3d4b99da2e43cddaa2b421b24ff42f275d87bd110ae2356bdd0e81c2534e7
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/scope-manager@npm:7.8.0"
+"@typescript-eslint/scope-manager@npm:7.9.0":
+ version: 7.9.0
+ resolution: "@typescript-eslint/scope-manager@npm:7.9.0"
dependencies:
- "@typescript-eslint/types": "npm:7.8.0"
- "@typescript-eslint/visitor-keys": "npm:7.8.0"
- checksum: 10c0/c253b98e96d4bf0375f473ca2c4d081726f1fd926cdfa65ee14c9ee99cca8eddb763b2d238ac365daa7246bef21b0af38180d04e56e9df7443c0e6f8474d097c
+ "@typescript-eslint/types": "npm:7.9.0"
+ "@typescript-eslint/visitor-keys": "npm:7.9.0"
+ checksum: 10c0/1ba6fc559a42a9b54e38c3ac2b6669efcff1a30292fb4e5fc8739c890a6c0f37d1a6aee1d115198f57c88e4f1776e95c1d7143de5cb5b970d5eb3023e97789dd
languageName: node
linkType: hard
-"@typescript-eslint/type-utils@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/type-utils@npm:7.8.0"
+"@typescript-eslint/type-utils@npm:7.9.0":
+ version: 7.9.0
+ resolution: "@typescript-eslint/type-utils@npm:7.9.0"
dependencies:
- "@typescript-eslint/typescript-estree": "npm:7.8.0"
- "@typescript-eslint/utils": "npm:7.8.0"
+ "@typescript-eslint/typescript-estree": "npm:7.9.0"
+ "@typescript-eslint/utils": "npm:7.9.0"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.3.0"
peerDependencies:
@@ -3044,23 +3318,23 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/00f6315626b64f7dbc1f7fba6f365321bb8d34141ed77545b2a07970e59a81dbdf768c1e024225ea00953750d74409ddd8a16782fc4a39261e507c04192dacab
+ checksum: 10c0/775280fb179268f8bacd60e684d9d5a1c6a379646b082c7244bf2dfb7dd693053bd9efa473b71e10a86db69322b0a2cecf5598d019684930df50000bf3d70af0
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/types@npm:7.8.0"
- checksum: 10c0/b2fdbfc21957bfa46f7d8809b607ad8c8b67c51821d899064d09392edc12f28b2318a044f0cd5d523d782e84e8f0558778877944964cf38e139f88790cf9d466
+"@typescript-eslint/types@npm:7.9.0":
+ version: 7.9.0
+ resolution: "@typescript-eslint/types@npm:7.9.0"
+ checksum: 10c0/d5f4a547dba4865ee2391bf06f2b3f8e8592a561976d2be35bb61ce340c7d1b7b4b25ac6ab5b9941813b465b9420bebb7b2179b1d71f6a83069feeb000b3558d
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/typescript-estree@npm:7.8.0"
+"@typescript-eslint/typescript-estree@npm:7.9.0":
+ version: 7.9.0
+ resolution: "@typescript-eslint/typescript-estree@npm:7.9.0"
dependencies:
- "@typescript-eslint/types": "npm:7.8.0"
- "@typescript-eslint/visitor-keys": "npm:7.8.0"
+ "@typescript-eslint/types": "npm:7.9.0"
+ "@typescript-eslint/visitor-keys": "npm:7.9.0"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@@ -3070,34 +3344,31 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/1690b62679685073dcb0f62499f0b52b445b37ae6e12d02aa4acbafe3fb023cf999b01f714b6282e88f84fd934fe3e2eefb21a64455d19c348d22bbc68ca8e47
+ checksum: 10c0/cfc3d2b7a5433c9a2989c7289bc72b49786993782801ad8ca5a07c651df457a67fbce13b120c86c34c03d56570a90e5cf4f3b8806349f103a3658f2366ec28ea
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/utils@npm:7.8.0"
+"@typescript-eslint/utils@npm:7.9.0":
+ version: 7.9.0
+ resolution: "@typescript-eslint/utils@npm:7.9.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
- "@types/json-schema": "npm:^7.0.15"
- "@types/semver": "npm:^7.5.8"
- "@typescript-eslint/scope-manager": "npm:7.8.0"
- "@typescript-eslint/types": "npm:7.8.0"
- "@typescript-eslint/typescript-estree": "npm:7.8.0"
- semver: "npm:^7.6.0"
+ "@typescript-eslint/scope-manager": "npm:7.9.0"
+ "@typescript-eslint/types": "npm:7.9.0"
+ "@typescript-eslint/typescript-estree": "npm:7.9.0"
peerDependencies:
eslint: ^8.56.0
- checksum: 10c0/31fb58388d15b082eb7bd5bce889cc11617aa1131dfc6950471541b3df64c82d1c052e2cccc230ca4ae80456d4f63a3e5dccb79899a8f3211ce36c089b7d7640
+ checksum: 10c0/cb99d6a950e7da0319bc7b923a82c52c0798a14e837afee51b2295cfbde02e0a2ac8e0b5904cd7bd01d1b376c7a6ad3739101b486feaf2517c8640024deb88c7
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/visitor-keys@npm:7.8.0"
+"@typescript-eslint/visitor-keys@npm:7.9.0":
+ version: 7.9.0
+ resolution: "@typescript-eslint/visitor-keys@npm:7.9.0"
dependencies:
- "@typescript-eslint/types": "npm:7.8.0"
+ "@typescript-eslint/types": "npm:7.9.0"
eslint-visitor-keys: "npm:^3.4.3"
- checksum: 10c0/5892fb5d9c58efaf89adb225f7dbbb77f9363961f2ff420b6b130bdd102dddd7aa8a16c46a5a71c19889d27b781e966119a89270555ea2cb5653a04d8994123d
+ checksum: 10c0/19181d8b9d2d7bc43d5c8884661cd9a86ac316392b8e590187cc507442093a1ba2bef0cc22181b8298d5dc9f455abb73cffa4663451bdf32b1b7fe12160c5c99
languageName: node
linkType: hard
@@ -3405,6 +3676,16 @@ __metadata:
languageName: node
linkType: hard
+"aggregate-error@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "aggregate-error@npm:5.0.0"
+ dependencies:
+ clean-stack: "npm:^5.2.0"
+ indent-string: "npm:^5.0.0"
+ checksum: 10c0/a5de7138571f514bad76290736f49a0db8809247082f2519037e0c37d03fc8d91d733e079d6b1674feda28a757b1932421ad205b8c0f8794a0c0e5bf1be2315e
+ languageName: node
+ linkType: hard
+
"ajv-formats@npm:^2.1.1":
version: 2.1.1
resolution: "ajv-formats@npm:2.1.1"
@@ -3943,6 +4224,13 @@ __metadata:
languageName: node
linkType: hard
+"before-after-hook@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "before-after-hook@npm:3.0.2"
+ checksum: 10c0/dea640f9e88a1085372c9bcc974b7bf379267490693da92ec102a7d8b515dd1e95f00ef575a146b83ca638104c57406c3427d37bdf082f602dde4b56d05bba14
+ languageName: node
+ linkType: hard
+
"big-integer@npm:^1.6.52":
version: 1.6.52
resolution: "big-integer@npm:1.6.52"
@@ -4015,7 +4303,7 @@ __metadata:
languageName: node
linkType: hard
-"bottleneck@npm:^2.19.5":
+"bottleneck@npm:^2.15.3, bottleneck@npm:^2.19.5":
version: 2.19.5
resolution: "bottleneck@npm:2.19.5"
checksum: 10c0/b0f72e45b2e0f56a21ba720183f16bef8e693452fb0495d997fa354e42904353a94bd8fd429868e6751bc85e54b6755190519eed5a0ae0a94a5185209ae7c6d0
@@ -4495,6 +4783,15 @@ __metadata:
languageName: node
linkType: hard
+"clean-stack@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "clean-stack@npm:5.2.0"
+ dependencies:
+ escape-string-regexp: "npm:5.0.0"
+ checksum: 10c0/0de47a4152e49dcdeede5f47d7bb9a39a3ea748acb1cd2f0160dbee972d920be81390cb4c5566e6b795791b9efb12359e89fdd7c2e63b36025d59529558570f1
+ languageName: node
+ linkType: hard
+
"clean-webpack-plugin@npm:^4.0.0":
version: 4.0.0
resolution: "clean-webpack-plugin@npm:4.0.0"
@@ -5824,6 +6121,13 @@ __metadata:
languageName: node
linkType: hard
+"escape-string-regexp@npm:5.0.0":
+ version: 5.0.0
+ resolution: "escape-string-regexp@npm:5.0.0"
+ checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95
+ languageName: node
+ linkType: hard
+
"escape-string-regexp@npm:^1.0.5":
version: 1.0.5
resolution: "escape-string-regexp@npm:1.0.5"
@@ -7505,6 +7809,13 @@ __metadata:
languageName: node
linkType: hard
+"indent-string@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "indent-string@npm:5.0.0"
+ checksum: 10c0/8ee77b57d92e71745e133f6f444d6fa3ed503ad0e1bcd7e80c8da08b42375c07117128d670589725ed07b1978065803fa86318c309ba45415b7fe13e7f170220
+ languageName: node
+ linkType: hard
+
"infer-owner@npm:^1.0.4":
version: 1.0.4
resolution: "infer-owner@npm:1.0.4"
@@ -8475,6 +8786,13 @@ __metadata:
languageName: node
linkType: hard
+"lru-cache@npm:^10.0.0":
+ version: 10.2.2
+ resolution: "lru-cache@npm:10.2.2"
+ checksum: 10c0/402d31094335851220d0b00985084288136136992979d0e015f0f1697e15d1c86052d7d53ae86b614e5b058425606efffc6969a31a091085d7a2b80a8a1e26d6
+ languageName: node
+ linkType: hard
+
"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^9.1.1 || ^10.0.0":
version: 10.2.0
resolution: "lru-cache@npm:10.2.0"
@@ -8588,14 +8906,14 @@ __metadata:
languageName: node
linkType: hard
-"material-ui-confirm@npm:^3.0.12":
- version: 3.0.12
- resolution: "material-ui-confirm@npm:3.0.12"
+"material-ui-confirm@npm:^3.0.14":
+ version: 3.0.14
+ resolution: "material-ui-confirm@npm:3.0.14"
peerDependencies:
"@mui/material": ">= 5.0.0"
react: ^17.0.0 || ^18.0.0
react-dom: ^17.0.0 || ^18.0.0
- checksum: 10c0/582d5a3a58eb1f48bd17be60a2cc8cdb3f9888673996bd006655e3a77ed13666e67eaf4a92355c3cf051bcb99c53b92f8245162c87d4730c0188094e1110ae8c
+ checksum: 10c0/8b7fb9ea9b00beb55fae1726112ee389cff82a1a41b8bd6635b9bf413ed562e417d3092137c547d80a6c270070db19d24ac2ff41cb98bc4fa9c9c8ba68f6d6b3
languageName: node
linkType: hard
@@ -9260,14 +9578,14 @@ __metadata:
"@mui/material": "npm:^5.15.17"
"@mui/styles": "npm:^5.15.17"
"@pmmmwh/react-refresh-webpack-plugin": "npm:^0.5.13"
- "@types/chrome": "npm:^0.0.267"
+ "@types/chrome": "npm:^0.0.268"
"@types/md5": "npm:^2.3.5"
- "@types/react": "npm:^18.3.1"
+ "@types/react": "npm:^18.3.2"
"@types/react-beautiful-dnd": "npm:^13.1.8"
"@types/react-dom": "npm:^18.3.0"
"@types/uuid": "npm:^9.0.8"
- "@typescript-eslint/eslint-plugin": "npm:^7.8.0"
- "@typescript-eslint/parser": "npm:^7.8.0"
+ "@typescript-eslint/eslint-plugin": "npm:^7.9.0"
+ "@typescript-eslint/parser": "npm:^7.9.0"
axios: "npm:^1.6.8"
babel-loader: "npm:^9.1.3"
base-64: "npm:^1.0.0"
@@ -9306,11 +9624,12 @@ __metadata:
i18next: "npm:^23.11.4"
libmuse: "git+https://github.com/lovegaoshi/muse.git#apm-release"
lodash: "npm:^4.17.21"
- material-ui-confirm: "npm:^3.0.12"
+ material-ui-confirm: "npm:^3.0.14"
md5: "npm:^2.3.0"
mini-css-extract-plugin: "npm:^2.9.0"
node-sass: "npm:^9.0.0"
notistack: "npm:^3.0.1"
+ octokit: "npm:^4.0.2"
os-browserify: "npm:^0.3.0"
path-browserify: "npm:^1.0.1"
prettier: "npm:^3.2.5"
@@ -9477,6 +9796,24 @@ __metadata:
languageName: node
linkType: hard
+"octokit@npm:^4.0.2":
+ version: 4.0.2
+ resolution: "octokit@npm:4.0.2"
+ dependencies:
+ "@octokit/app": "npm:^15.0.0"
+ "@octokit/core": "npm:^6.0.0"
+ "@octokit/oauth-app": "npm:^7.0.0"
+ "@octokit/plugin-paginate-graphql": "npm:^5.0.0"
+ "@octokit/plugin-paginate-rest": "npm:^11.0.0"
+ "@octokit/plugin-rest-endpoint-methods": "npm:^13.0.0"
+ "@octokit/plugin-retry": "npm:^7.0.0"
+ "@octokit/plugin-throttling": "npm:^9.0.0"
+ "@octokit/request-error": "npm:^6.0.0"
+ "@octokit/types": "npm:^13.0.0"
+ checksum: 10c0/30d057ccd526d0d25017018ec4df3ae90981e3bf7bfbd923c4e365b69fb7155bc77ad400e9ae11186c8307c35eb0cdddb32ddc5ba8c0ae4d003b2838a18334e9
+ languageName: node
+ linkType: hard
+
"on-finished@npm:2.4.1, on-finished@npm:^2.4.1":
version: 2.4.1
resolution: "on-finished@npm:2.4.1"
@@ -12351,6 +12688,20 @@ __metadata:
languageName: node
linkType: hard
+"universal-github-app-jwt@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "universal-github-app-jwt@npm:2.2.0"
+ checksum: 10c0/590a557ef0a675ebafc4813d95459f30a301ce6e9e8f3a91b8a9d79fde09a30a955a145387957b91c9107d9ffb0879838e52edeb3a1366dbece961c44a9917a9
+ languageName: node
+ linkType: hard
+
+"universal-user-agent@npm:^7.0.0, universal-user-agent@npm:^7.0.2":
+ version: 7.0.2
+ resolution: "universal-user-agent@npm:7.0.2"
+ checksum: 10c0/e60517ee929813e6b3ac0ceb3c66deccafadc71341edca160279ff046319c684fd7090a60d63aa61cd34a06c2d2acebeb8c2f8d364244ae7bf8ab788e20cd8c8
+ languageName: node
+ linkType: hard
+
"unpipe@npm:1.0.0, unpipe@npm:~1.0.0":
version: 1.0.0
resolution: "unpipe@npm:1.0.0"