diff options
author | crupest <crupest@outlook.com> | 2021-06-15 14:14:28 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-06-15 14:14:28 +0800 |
commit | 47587812b809fee2a95c76266d9d0e42fc4ac1ca (patch) | |
tree | bfaa7320c838e21edf88b5a037263f89a8012222 | |
parent | da26373c7fc13cded47428b27638b349b0432437 (diff) | |
download | timeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.tar.gz timeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.tar.bz2 timeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.zip |
...
-rw-r--r-- | FrontEnd/.babelrc | 27 | ||||
-rw-r--r-- | FrontEnd/.eslintignore | 2 | ||||
-rw-r--r-- | FrontEnd/.eslintrc.js | 2 | ||||
-rw-r--r-- | FrontEnd/package.json | 28 | ||||
-rw-r--r-- | FrontEnd/src/App.tsx (renamed from FrontEnd/src/app/App.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/tsconfig.json | 13 | ||||
-rw-r--r-- | FrontEnd/src/app/typings.d.ts | 24 | ||||
-rw-r--r-- | FrontEnd/src/common.ts (renamed from FrontEnd/src/app/common.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/http/bookmark.ts (renamed from FrontEnd/src/app/http/bookmark.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/http/common.ts (renamed from FrontEnd/src/app/http/common.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/http/highlight.ts (renamed from FrontEnd/src/app/http/highlight.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/http/search.ts (renamed from FrontEnd/src/app/http/search.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/http/timeline.ts (renamed from FrontEnd/src/app/http/timeline.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/http/token.ts (renamed from FrontEnd/src/app/http/token.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/http/user.ts (renamed from FrontEnd/src/app/http/user.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/i18n.ts (renamed from FrontEnd/src/app/i18n.ts) | 4 | ||||
-rw-r--r-- | FrontEnd/src/index.ejs (renamed from FrontEnd/src/app/index.ejs) | 0 | ||||
-rw-r--r-- | FrontEnd/src/index.sass (renamed from FrontEnd/src/app/index.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/index.tsx (renamed from FrontEnd/src/app/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/locales/en/admin.json (renamed from FrontEnd/src/app/locales/en/admin.json) | 0 | ||||
-rw-r--r-- | FrontEnd/src/locales/en/translation.json (renamed from FrontEnd/src/app/locales/en/translation.json) | 0 | ||||
-rw-r--r-- | FrontEnd/src/locales/zh/admin.json (renamed from FrontEnd/src/app/locales/zh/admin.json) | 0 | ||||
-rw-r--r-- | FrontEnd/src/locales/zh/translation.json (renamed from FrontEnd/src/app/locales/zh/translation.json) | 0 | ||||
-rw-r--r-- | FrontEnd/src/palette.ts (renamed from FrontEnd/src/app/palette.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/service-worker.txt (renamed from FrontEnd/src/app/service-worker.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/services/TimelinePostBuilder.ts (renamed from FrontEnd/src/app/services/TimelinePostBuilder.ts) | 4 | ||||
-rw-r--r-- | FrontEnd/src/services/alert.ts (renamed from FrontEnd/src/app/services/alert.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/services/timeline.ts (renamed from FrontEnd/src/app/services/timeline.ts) | 4 | ||||
-rw-r--r-- | FrontEnd/src/services/user.ts (renamed from FrontEnd/src/app/services/user.ts) | 6 | ||||
-rw-r--r-- | FrontEnd/src/sw/sw.ts | 62 | ||||
-rw-r--r-- | FrontEnd/src/sw/tsconfig.json | 12 | ||||
-rw-r--r-- | FrontEnd/src/tsconfig.json | 10 | ||||
-rw-r--r-- | FrontEnd/src/utilities/mediaQuery.ts (renamed from FrontEnd/src/app/utilities/mediaQuery.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/utilities/url.ts (renamed from FrontEnd/src/app/utilities/url.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/utilities/useReverseScrollPositionRemember.ts (renamed from FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/utilities/useScrollToTop.ts (renamed from FrontEnd/src/app/utilities/useScrollToTop.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/about/about.sass (renamed from FrontEnd/src/app/views/about/about.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/about/author-avatar.png (renamed from FrontEnd/src/app/views/about/author-avatar.png) | bin | 12038 -> 12038 bytes | |||
-rw-r--r-- | FrontEnd/src/views/about/github.png (renamed from FrontEnd/src/app/views/about/github.png) | bin | 4268 -> 4268 bytes | |||
-rw-r--r-- | FrontEnd/src/views/about/index.tsx (renamed from FrontEnd/src/app/views/about/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/admin/Admin.tsx (renamed from FrontEnd/src/app/views/admin/Admin.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/admin/AdminNav.tsx (renamed from FrontEnd/src/app/views/admin/AdminNav.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/admin/MoreAdmin.tsx (renamed from FrontEnd/src/app/views/admin/MoreAdmin.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/admin/UserAdmin.tsx (renamed from FrontEnd/src/app/views/admin/UserAdmin.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/admin/admin.sass (renamed from FrontEnd/src/app/views/admin/admin.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/center/CenterBoards.tsx (renamed from FrontEnd/src/app/views/center/CenterBoards.tsx) | 6 | ||||
-rw-r--r-- | FrontEnd/src/views/center/TimelineBoard.tsx (renamed from FrontEnd/src/app/views/center/TimelineBoard.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/center/TimelineCreateDialog.tsx (renamed from FrontEnd/src/app/views/center/TimelineCreateDialog.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/center/center.sass (renamed from FrontEnd/src/app/views/center/center.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/center/index.tsx (renamed from FrontEnd/src/app/views/center/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/AppBar.tsx (renamed from FrontEnd/src/app/views/common/AppBar.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/BlobImage.tsx (renamed from FrontEnd/src/app/views/common/BlobImage.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/ConfirmDialog.tsx (renamed from FrontEnd/src/app/views/common/ConfirmDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/FlatButton.tsx (renamed from FrontEnd/src/app/views/common/FlatButton.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/FullPage.tsx (renamed from FrontEnd/src/app/views/common/FullPage.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/ImageCropper.tsx (renamed from FrontEnd/src/app/views/common/ImageCropper.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/LoadFailReload.tsx (renamed from FrontEnd/src/app/views/common/LoadFailReload.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/LoadingButton.tsx (renamed from FrontEnd/src/app/views/common/LoadingButton.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/LoadingPage.tsx (renamed from FrontEnd/src/app/views/common/LoadingPage.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/Menu.tsx (renamed from FrontEnd/src/app/views/common/Menu.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/OperationDialog.tsx (renamed from FrontEnd/src/app/views/common/OperationDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/SearchInput.tsx (renamed from FrontEnd/src/app/views/common/SearchInput.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/Skeleton.tsx (renamed from FrontEnd/src/app/views/common/Skeleton.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/TabPages.tsx (renamed from FrontEnd/src/app/views/common/TabPages.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/TimelineLogo.tsx (renamed from FrontEnd/src/app/views/common/TimelineLogo.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/ToggleIconButton.tsx (renamed from FrontEnd/src/app/views/common/ToggleIconButton.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/UserTimelineLogo.tsx (renamed from FrontEnd/src/app/views/common/UserTimelineLogo.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/alert/AlertHost.tsx (renamed from FrontEnd/src/app/views/common/alert/AlertHost.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/alert/alert.sass (renamed from FrontEnd/src/app/views/common/alert/alert.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/common.sass (renamed from FrontEnd/src/app/views/common/common.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/common/user/UserAvatar.tsx (renamed from FrontEnd/src/app/views/common/user/UserAvatar.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/home/TimelineListView.tsx (renamed from FrontEnd/src/app/views/home/TimelineListView.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/home/WebsiteIntroduction.tsx (renamed from FrontEnd/src/app/views/home/WebsiteIntroduction.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/home/home.sass (renamed from FrontEnd/src/app/views/home/home.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/home/index.tsx (renamed from FrontEnd/src/app/views/home/index.tsx) | 4 | ||||
-rw-r--r-- | FrontEnd/src/views/login/index.tsx (renamed from FrontEnd/src/app/views/login/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/login/login.sass (renamed from FrontEnd/src/app/views/login/login.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/search/index.tsx (renamed from FrontEnd/src/app/views/search/index.tsx) | 6 | ||||
-rw-r--r-- | FrontEnd/src/views/search/search.sass (renamed from FrontEnd/src/app/views/search/search.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/settings/ChangeAvatarDialog.tsx (renamed from FrontEnd/src/app/views/settings/ChangeAvatarDialog.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/settings/ChangeNicknameDialog.tsx (renamed from FrontEnd/src/app/views/settings/ChangeNicknameDialog.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/settings/ChangePasswordDialog.tsx (renamed from FrontEnd/src/app/views/settings/ChangePasswordDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/settings/index.tsx (renamed from FrontEnd/src/app/views/settings/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/settings/settings.sass (renamed from FrontEnd/src/app/views/settings/settings.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/CollapseButton.tsx (renamed from FrontEnd/src/app/views/timeline-common/CollapseButton.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx (renamed from FrontEnd/src/app/views/timeline-common/ConnectionStatusBadge.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/MarkdownPostEdit.tsx (renamed from FrontEnd/src/app/views/timeline-common/MarkdownPostEdit.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/PostPropertyChangeDialog.tsx (renamed from FrontEnd/src/app/views/timeline-common/PostPropertyChangeDialog.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/Timeline.tsx (renamed from FrontEnd/src/app/views/timeline-common/Timeline.tsx) | 4 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelineDateLabel.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineDateLabel.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelineLine.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineLine.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelineLoading.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineLoading.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelineMember.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineMember.tsx) | 6 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePageCardTemplate.tsx) | 4 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePageTemplate.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx) | 4 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePagedPostListView.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePostContentView.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostContentView.tsx) | 4 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePostEdit.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx) | 4 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePostListView.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostListView.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePostView.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostView.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/TimelineTop.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineTop.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline-common/timeline-common.sass (renamed from FrontEnd/src/app/views/timeline-common/timeline-common.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline/TimelineCard.tsx (renamed from FrontEnd/src/app/views/timeline/TimelineCard.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline/TimelineDeleteDialog.tsx (renamed from FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline/index.tsx (renamed from FrontEnd/src/app/views/timeline/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/timeline/timeline.sass (renamed from FrontEnd/src/app/views/timeline/timeline.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/user/UserCard.tsx (renamed from FrontEnd/src/app/views/user/UserCard.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/user/index.tsx (renamed from FrontEnd/src/app/views/user/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/views/user/user.sass (renamed from FrontEnd/src/app/views/user/user.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/vite.config.js | 19 | ||||
-rw-r--r-- | FrontEnd/webpack.common.js | 73 | ||||
-rw-r--r-- | FrontEnd/webpack.config.dev.js | 38 | ||||
-rw-r--r-- | FrontEnd/webpack.config.prod.js | 53 |
115 files changed, 73 insertions, 378 deletions
diff --git a/FrontEnd/.babelrc b/FrontEnd/.babelrc deleted file mode 100644 index 092f2f73..00000000 --- a/FrontEnd/.babelrc +++ /dev/null @@ -1,27 +0,0 @@ -{
- "presets": [
- "@babel/env",
- "@babel/preset-react"
- ],
- "plugins": [
- "@babel/plugin-syntax-dynamic-import",
- "@babel/plugin-proposal-class-properties",
- "@babel/plugin-proposal-optional-chaining",
- "@babel/plugin-proposal-nullish-coalescing-operator",
- [
- "@babel/plugin-proposal-decorators",
- {
- "decoratorsBeforeExport": true
- }
- ],
- [
- "babel-plugin-transform-builtin-extend",
- {
- "globals": [
- "Error",
- "Array"
- ]
- }
- ]
- ]
-}
\ No newline at end of file diff --git a/FrontEnd/.eslintignore b/FrontEnd/.eslintignore index f29f7466..f4f28252 100644 --- a/FrontEnd/.eslintignore +++ b/FrontEnd/.eslintignore @@ -1,6 +1,6 @@ .yarn
node_modules
dist
-webpack.*.js
.eslintrc.js
postcss.config.js
+vite.config.js
diff --git a/FrontEnd/.eslintrc.js b/FrontEnd/.eslintrc.js index 9bb22216..611b965f 100644 --- a/FrontEnd/.eslintrc.js +++ b/FrontEnd/.eslintrc.js @@ -18,7 +18,7 @@ module.exports = { },
parser: "@typescript-eslint/parser",
parserOptions: {
- project: ["./src/app/tsconfig.json", "./src/sw/tsconfig.json"],
+ project: ["./src/tsconfig.json"],
ecmaFeatures: {
jsx: true,
},
diff --git a/FrontEnd/package.json b/FrontEnd/package.json index 9f0145c9..1afb5ad0 100644 --- a/FrontEnd/package.json +++ b/FrontEnd/package.json @@ -30,12 +30,6 @@ "regenerator-runtime": "^0.13.7",
"remarkable": "^2.0.1",
"rxjs": "^7.1.0",
- "workbox-cacheable-response": "^6.1.5",
- "workbox-expiration": "^6.1.2",
- "workbox-precaching": "^6.1.0",
- "workbox-routing": "^6.1.5",
- "workbox-strategies": "^6.1.0",
- "workbox-window": "^6.1.1",
"xregexp": "^5.0.2"
},
"scripts": {
@@ -57,7 +51,6 @@ ]
},
"devDependencies": {
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.0-rc.0",
"@types/color": "^3.0.1",
"@types/lodash": "^4.14.170",
"@types/node": "^15.12.2",
@@ -68,36 +61,19 @@ "@types/react-router": "^5.1.15",
"@types/react-router-dom": "^5.1.7",
"@types/remarkable": "^2.0.2",
- "@types/webpack-env": "^1.16.0",
"@typescript-eslint/eslint-plugin": "^4.26.1",
"@typescript-eslint/parser": "^4.26.1",
- "clean-webpack-plugin": "^3.0.0",
- "copy-webpack-plugin": "^9.0.0",
- "css-loader": "^5.2.6",
+ "@vitejs/plugin-react-refresh": "^1.3.3",
"eslint": "^7.28.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-react-hooks": "^4.2.0",
- "file-loader": "^6.2.0",
- "html-webpack-plugin": "5.3.1",
- "mini-css-extract-plugin": "^1.6.0",
"postcss": "^8.3.0",
- "postcss-loader": "^5.3.0",
"postcss-preset-env": "^6.7.0",
"prettier": "^2.3.1",
- "react-refresh": "^0.10.0",
- "react-refresh-typescript": "^2.0.1",
"sass": "^1.34.1",
- "sass-loader": "^12.0.0",
- "style-loader": "^2.0.0",
- "ts-loader": "^9.2.3",
"typescript": "^4.3.2",
- "url-loader": "^4.1.1",
- "webpack": "^5.38.1",
- "webpack-chain": "^6.5.1",
- "webpack-cli": "^4.7.2",
- "webpack-dev-server": "^4.0.0-beta.3",
- "workbox-webpack-plugin": "^6.1.5"
+ "vite": "^2.3.7"
}
}
diff --git a/FrontEnd/src/app/App.tsx b/FrontEnd/src/App.tsx index a4363ff5..a4363ff5 100644 --- a/FrontEnd/src/app/App.tsx +++ b/FrontEnd/src/App.tsx diff --git a/FrontEnd/src/app/tsconfig.json b/FrontEnd/src/app/tsconfig.json deleted file mode 100644 index 17ee69cb..00000000 --- a/FrontEnd/src/app/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{
- "extends": "../tsconfig.json",
- "compilerOptions": {
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ]
- },
- "include": [
- "."
- ]
-}
diff --git a/FrontEnd/src/app/typings.d.ts b/FrontEnd/src/app/typings.d.ts deleted file mode 100644 index 34381682..00000000 --- a/FrontEnd/src/app/typings.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -declare module "*.png" { - const content: string; - export default content; -} - -declare module "*.jpeg" { - const content: string; - export default content; -} - -declare module "*.jpg" { - const content: string; - export default content; -} - -declare module "*.gif" { - const content: string; - export default content; -} - -declare module "*.svg" { - const content: string; - export default content; -} diff --git a/FrontEnd/src/app/common.ts b/FrontEnd/src/common.ts index 1a4f6dda..1a4f6dda 100644 --- a/FrontEnd/src/app/common.ts +++ b/FrontEnd/src/common.ts diff --git a/FrontEnd/src/app/http/bookmark.ts b/FrontEnd/src/http/bookmark.ts index 3e5be229..3e5be229 100644 --- a/FrontEnd/src/app/http/bookmark.ts +++ b/FrontEnd/src/http/bookmark.ts diff --git a/FrontEnd/src/app/http/common.ts b/FrontEnd/src/http/common.ts index e1672985..e1672985 100644 --- a/FrontEnd/src/app/http/common.ts +++ b/FrontEnd/src/http/common.ts diff --git a/FrontEnd/src/app/http/highlight.ts b/FrontEnd/src/http/highlight.ts index fddf0729..fddf0729 100644 --- a/FrontEnd/src/app/http/highlight.ts +++ b/FrontEnd/src/http/highlight.ts diff --git a/FrontEnd/src/app/http/search.ts b/FrontEnd/src/http/search.ts index 8ca48fe9..8ca48fe9 100644 --- a/FrontEnd/src/app/http/search.ts +++ b/FrontEnd/src/http/search.ts diff --git a/FrontEnd/src/app/http/timeline.ts b/FrontEnd/src/http/timeline.ts index 9697c1a0..9697c1a0 100644 --- a/FrontEnd/src/app/http/timeline.ts +++ b/FrontEnd/src/http/timeline.ts diff --git a/FrontEnd/src/app/http/token.ts b/FrontEnd/src/http/token.ts index f8b09d63..f8b09d63 100644 --- a/FrontEnd/src/app/http/token.ts +++ b/FrontEnd/src/http/token.ts diff --git a/FrontEnd/src/app/http/user.ts b/FrontEnd/src/http/user.ts index dcf24cba..dcf24cba 100644 --- a/FrontEnd/src/app/http/user.ts +++ b/FrontEnd/src/http/user.ts diff --git a/FrontEnd/src/app/i18n.ts b/FrontEnd/src/i18n.ts index 5b8e9d41..8caf51ec 100644 --- a/FrontEnd/src/app/i18n.ts +++ b/FrontEnd/src/i18n.ts @@ -71,8 +71,8 @@ export const i18nPromise = i18n */ }); -if (module.hot) { - module.hot.accept( +if (import.meta.hot) { + import.meta.hot.accept( [ "./locales/en/translation.json", "./locales/zh/translation.json", diff --git a/FrontEnd/src/app/index.ejs b/FrontEnd/src/index.ejs index c2ff4182..c2ff4182 100644 --- a/FrontEnd/src/app/index.ejs +++ b/FrontEnd/src/index.ejs diff --git a/FrontEnd/src/app/index.sass b/FrontEnd/src/index.sass index 4cee155f..4cee155f 100644 --- a/FrontEnd/src/app/index.sass +++ b/FrontEnd/src/index.sass diff --git a/FrontEnd/src/app/index.tsx b/FrontEnd/src/index.tsx index fb0c8899..fb0c8899 100644 --- a/FrontEnd/src/app/index.tsx +++ b/FrontEnd/src/index.tsx diff --git a/FrontEnd/src/app/locales/en/admin.json b/FrontEnd/src/locales/en/admin.json index ddb3ffad..ddb3ffad 100644 --- a/FrontEnd/src/app/locales/en/admin.json +++ b/FrontEnd/src/locales/en/admin.json diff --git a/FrontEnd/src/app/locales/en/translation.json b/FrontEnd/src/locales/en/translation.json index a2766b4e..a2766b4e 100644 --- a/FrontEnd/src/app/locales/en/translation.json +++ b/FrontEnd/src/locales/en/translation.json diff --git a/FrontEnd/src/app/locales/zh/admin.json b/FrontEnd/src/locales/zh/admin.json index edd1cabd..edd1cabd 100644 --- a/FrontEnd/src/app/locales/zh/admin.json +++ b/FrontEnd/src/locales/zh/admin.json diff --git a/FrontEnd/src/app/locales/zh/translation.json b/FrontEnd/src/locales/zh/translation.json index 5a5a6843..5a5a6843 100644 --- a/FrontEnd/src/app/locales/zh/translation.json +++ b/FrontEnd/src/locales/zh/translation.json diff --git a/FrontEnd/src/app/palette.ts b/FrontEnd/src/palette.ts index c4f4f4f9..c4f4f4f9 100644 --- a/FrontEnd/src/app/palette.ts +++ b/FrontEnd/src/palette.ts diff --git a/FrontEnd/src/app/service-worker.tsx b/FrontEnd/src/service-worker.txt index ea8dfc32..ea8dfc32 100644 --- a/FrontEnd/src/app/service-worker.tsx +++ b/FrontEnd/src/service-worker.txt diff --git a/FrontEnd/src/app/services/TimelinePostBuilder.ts b/FrontEnd/src/services/TimelinePostBuilder.ts index 40279eca..fe4c7a9a 100644 --- a/FrontEnd/src/app/services/TimelinePostBuilder.ts +++ b/FrontEnd/src/services/TimelinePostBuilder.ts @@ -2,8 +2,8 @@ import { Remarkable } from "remarkable"; import { UiLogicError } from "@/common"; -import { base64 } from "@/http/common"; -import { HttpTimelinePostPostRequest } from "@/http/timeline"; +import { base64 } from "http/common"; +import { HttpTimelinePostPostRequest } from "http/timeline"; export default class TimelinePostBuilder { private _onChange: () => void; diff --git a/FrontEnd/src/app/services/alert.ts b/FrontEnd/src/services/alert.ts index 48d482ea..48d482ea 100644 --- a/FrontEnd/src/app/services/alert.ts +++ b/FrontEnd/src/services/alert.ts diff --git a/FrontEnd/src/app/services/timeline.ts b/FrontEnd/src/services/timeline.ts index d8c0ae00..4ebb705d 100644 --- a/FrontEnd/src/app/services/timeline.ts +++ b/FrontEnd/src/services/timeline.ts @@ -1,9 +1,9 @@ -import { TimelineVisibility } from "@/http/timeline"; +import { TimelineVisibility } from "http/timeline"; import XRegExp from "xregexp"; import { Observable } from "rxjs"; import { HubConnectionBuilder, HubConnectionState } from "@microsoft/signalr"; -import { getHttpToken } from "@/http/common"; +import { getHttpToken } from "http/common"; const timelineNameReg = XRegExp("^[-_\\p{L}]*$", "u"); diff --git a/FrontEnd/src/app/services/user.ts b/FrontEnd/src/services/user.ts index 9a8e5687..3375c88a 100644 --- a/FrontEnd/src/app/services/user.ts +++ b/FrontEnd/src/services/user.ts @@ -3,12 +3,12 @@ import { BehaviorSubject, Observable } from "rxjs"; import { UiLogicError } from "@/common"; -import { HttpNetworkError, setHttpToken } from "@/http/common"; +import { HttpNetworkError, setHttpToken } from "http/common"; import { getHttpTokenClient, HttpCreateTokenBadCredentialError, -} from "@/http/token"; -import { getHttpUserClient, HttpUser, UserPermission } from "@/http/user"; +} from "http/token"; +import { getHttpUserClient, HttpUser, UserPermission } from "http/user"; import { pushAlert } from "./alert"; diff --git a/FrontEnd/src/sw/sw.ts b/FrontEnd/src/sw/sw.ts deleted file mode 100644 index 724804dd..00000000 --- a/FrontEnd/src/sw/sw.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { precacheAndRoute, matchPrecache } from "workbox-precaching"; -import { registerRoute, setDefaultHandler } from "workbox-routing"; -import { - NetworkFirst, - NetworkOnly, - StaleWhileRevalidate, -} from "workbox-strategies"; -import { CacheableResponsePlugin } from "workbox-cacheable-response"; -import { ExpirationPlugin } from "workbox-expiration"; - -declare let self: ServiceWorkerGlobalScope; - -self.addEventListener("message", (event) => { - if (event.data && (event.data as { type: string }).type === "SKIP_WAITING") { - void self.skipWaiting(); - } -}); - -precacheAndRoute(self.__WB_MANIFEST); - -const networkOnly = new NetworkOnly(); - -registerRoute(new RegExp("/swagger/?.*"), new NetworkOnly()); - -registerRoute(new RegExp("/api/token/?.*"), new NetworkOnly()); -registerRoute(new RegExp("/api/search/?.*"), new NetworkOnly()); - -registerRoute( - new RegExp("/api/users/.+/avatar"), - new StaleWhileRevalidate({ - cacheName: "avatars", - plugins: [ - new CacheableResponsePlugin({ - statuses: [200], - }), - new ExpirationPlugin({ - maxAgeSeconds: 60 * 60 * 24 * 30 * 3, // 3 months - }), - ], - }) -); - -registerRoute( - new RegExp("/api/?.*"), - new NetworkFirst({ - plugins: [ - new CacheableResponsePlugin({ - statuses: [200], - }), - ], - }) -); - -setDefaultHandler((options) => { - const { request } = options; - - if (request instanceof Request && request.destination === "document") - return matchPrecache("/index.html").then((r) => - r == null ? Response.error() : r - ); - else return networkOnly.handle(options); -}); diff --git a/FrontEnd/src/sw/tsconfig.json b/FrontEnd/src/sw/tsconfig.json deleted file mode 100644 index 71fc0bcd..00000000 --- a/FrontEnd/src/sw/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{
- "extends": "../tsconfig.json",
- "compilerOptions": {
- "lib": [
- "esnext",
- "webworker"
- ]
- },
- "include": [
- "."
- ]
-}
diff --git a/FrontEnd/src/tsconfig.json b/FrontEnd/src/tsconfig.json index 21989043..817c50bd 100644 --- a/FrontEnd/src/tsconfig.json +++ b/FrontEnd/src/tsconfig.json @@ -1,6 +1,5 @@ {
"compilerOptions": {
- "target": "ES6",
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
@@ -12,10 +11,13 @@ "resolveJsonModule": true,
"isolatedModules": true,
"jsx": "react",
+ "types": ["vite/client"],
"sourceMap": true,
"baseUrl": "./",
"paths": {
- "@/*": ["app/*"]
- }
- }
+ "@/*": ["*"]
+ },
+ "lib": ["dom", "dom.iterable", "esnext"]
+ },
+ "include": ["."]
}
diff --git a/FrontEnd/src/app/utilities/mediaQuery.ts b/FrontEnd/src/utilities/mediaQuery.ts index ad55c3c0..ad55c3c0 100644 --- a/FrontEnd/src/app/utilities/mediaQuery.ts +++ b/FrontEnd/src/utilities/mediaQuery.ts diff --git a/FrontEnd/src/app/utilities/url.ts b/FrontEnd/src/utilities/url.ts index 4f2a6ecd..4f2a6ecd 100644 --- a/FrontEnd/src/app/utilities/url.ts +++ b/FrontEnd/src/utilities/url.ts diff --git a/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts b/FrontEnd/src/utilities/useReverseScrollPositionRemember.ts index a5812808..a5812808 100644 --- a/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts +++ b/FrontEnd/src/utilities/useReverseScrollPositionRemember.ts diff --git a/FrontEnd/src/app/utilities/useScrollToTop.ts b/FrontEnd/src/utilities/useScrollToTop.ts index 892e3545..892e3545 100644 --- a/FrontEnd/src/app/utilities/useScrollToTop.ts +++ b/FrontEnd/src/utilities/useScrollToTop.ts diff --git a/FrontEnd/src/app/views/about/about.sass b/FrontEnd/src/views/about/about.sass index f4d00cae..f4d00cae 100644 --- a/FrontEnd/src/app/views/about/about.sass +++ b/FrontEnd/src/views/about/about.sass diff --git a/FrontEnd/src/app/views/about/author-avatar.png b/FrontEnd/src/views/about/author-avatar.png Binary files differindex d890d8d0..d890d8d0 100644 --- a/FrontEnd/src/app/views/about/author-avatar.png +++ b/FrontEnd/src/views/about/author-avatar.png diff --git a/FrontEnd/src/app/views/about/github.png b/FrontEnd/src/views/about/github.png Binary files differindex ea6ff545..ea6ff545 100644 --- a/FrontEnd/src/app/views/about/github.png +++ b/FrontEnd/src/views/about/github.png diff --git a/FrontEnd/src/app/views/about/index.tsx b/FrontEnd/src/views/about/index.tsx index a8a53a97..a8a53a97 100644 --- a/FrontEnd/src/app/views/about/index.tsx +++ b/FrontEnd/src/views/about/index.tsx diff --git a/FrontEnd/src/app/views/admin/Admin.tsx b/FrontEnd/src/views/admin/Admin.tsx index 0b6d1f05..0b6d1f05 100644 --- a/FrontEnd/src/app/views/admin/Admin.tsx +++ b/FrontEnd/src/views/admin/Admin.tsx diff --git a/FrontEnd/src/app/views/admin/AdminNav.tsx b/FrontEnd/src/views/admin/AdminNav.tsx index 47e2138f..47e2138f 100644 --- a/FrontEnd/src/app/views/admin/AdminNav.tsx +++ b/FrontEnd/src/views/admin/AdminNav.tsx diff --git a/FrontEnd/src/app/views/admin/MoreAdmin.tsx b/FrontEnd/src/views/admin/MoreAdmin.tsx index 042789a0..042789a0 100644 --- a/FrontEnd/src/app/views/admin/MoreAdmin.tsx +++ b/FrontEnd/src/views/admin/MoreAdmin.tsx diff --git a/FrontEnd/src/app/views/admin/UserAdmin.tsx b/FrontEnd/src/views/admin/UserAdmin.tsx index 558d3aee..4e9cd600 100644 --- a/FrontEnd/src/app/views/admin/UserAdmin.tsx +++ b/FrontEnd/src/views/admin/UserAdmin.tsx @@ -12,7 +12,7 @@ import { HttpUser, kUserPermissionList, UserPermission, -} from "@/http/user"; +} from "http/user"; import { Trans, useTranslation } from "react-i18next"; interface DialogProps<TData = undefined, TReturn = undefined> { diff --git a/FrontEnd/src/app/views/admin/admin.sass b/FrontEnd/src/views/admin/admin.sass index 1ce010f8..1ce010f8 100644 --- a/FrontEnd/src/app/views/admin/admin.sass +++ b/FrontEnd/src/views/admin/admin.sass diff --git a/FrontEnd/src/app/views/center/CenterBoards.tsx b/FrontEnd/src/views/center/CenterBoards.tsx index f5200415..431d1e9a 100644 --- a/FrontEnd/src/app/views/center/CenterBoards.tsx +++ b/FrontEnd/src/views/center/CenterBoards.tsx @@ -5,9 +5,9 @@ import { useTranslation } from "react-i18next"; import { pushAlert } from "@/services/alert"; import { useUserLoggedIn } from "@/services/user"; -import { getHttpTimelineClient } from "@/http/timeline"; -import { getHttpBookmarkClient } from "@/http/bookmark"; -import { getHttpHighlightClient } from "@/http/highlight"; +import { getHttpTimelineClient } from "http/timeline"; +import { getHttpBookmarkClient } from "http/bookmark"; +import { getHttpHighlightClient } from "http/highlight"; import TimelineBoard from "./TimelineBoard"; diff --git a/FrontEnd/src/app/views/center/TimelineBoard.tsx b/FrontEnd/src/views/center/TimelineBoard.tsx index 35249f66..bb80266b 100644 --- a/FrontEnd/src/app/views/center/TimelineBoard.tsx +++ b/FrontEnd/src/views/center/TimelineBoard.tsx @@ -4,7 +4,7 @@ import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { Spinner } from "react-bootstrap"; -import { HttpTimelineInfo } from "@/http/timeline"; +import { HttpTimelineInfo } from "http/timeline"; import TimelineLogo from "../common/TimelineLogo"; import UserTimelineLogo from "../common/UserTimelineLogo"; diff --git a/FrontEnd/src/app/views/center/TimelineCreateDialog.tsx b/FrontEnd/src/views/center/TimelineCreateDialog.tsx index b4e25ba1..a2437ae5 100644 --- a/FrontEnd/src/app/views/center/TimelineCreateDialog.tsx +++ b/FrontEnd/src/views/center/TimelineCreateDialog.tsx @@ -3,7 +3,7 @@ import { useHistory } from "react-router"; import { validateTimelineName } from "@/services/timeline"; import OperationDialog from "../common/OperationDialog"; -import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline"; +import { getHttpTimelineClient, HttpTimelineInfo } from "http/timeline"; interface TimelineCreateDialogProps { open: boolean; diff --git a/FrontEnd/src/app/views/center/center.sass b/FrontEnd/src/views/center/center.sass index c0dfb9c0..c0dfb9c0 100644 --- a/FrontEnd/src/app/views/center/center.sass +++ b/FrontEnd/src/views/center/center.sass diff --git a/FrontEnd/src/app/views/center/index.tsx b/FrontEnd/src/views/center/index.tsx index 0a2abb2c..0a2abb2c 100644 --- a/FrontEnd/src/app/views/center/index.tsx +++ b/FrontEnd/src/views/center/index.tsx diff --git a/FrontEnd/src/app/views/common/AppBar.tsx b/FrontEnd/src/views/common/AppBar.tsx index 91dfbee9..91dfbee9 100644 --- a/FrontEnd/src/app/views/common/AppBar.tsx +++ b/FrontEnd/src/views/common/AppBar.tsx diff --git a/FrontEnd/src/app/views/common/BlobImage.tsx b/FrontEnd/src/views/common/BlobImage.tsx index 0dd25c52..0dd25c52 100644 --- a/FrontEnd/src/app/views/common/BlobImage.tsx +++ b/FrontEnd/src/views/common/BlobImage.tsx diff --git a/FrontEnd/src/app/views/common/ConfirmDialog.tsx b/FrontEnd/src/views/common/ConfirmDialog.tsx index 72940c51..72940c51 100644 --- a/FrontEnd/src/app/views/common/ConfirmDialog.tsx +++ b/FrontEnd/src/views/common/ConfirmDialog.tsx diff --git a/FrontEnd/src/app/views/common/FlatButton.tsx b/FrontEnd/src/views/common/FlatButton.tsx index b1f7a051..b1f7a051 100644 --- a/FrontEnd/src/app/views/common/FlatButton.tsx +++ b/FrontEnd/src/views/common/FlatButton.tsx diff --git a/FrontEnd/src/app/views/common/FullPage.tsx b/FrontEnd/src/views/common/FullPage.tsx index 1b59045a..1b59045a 100644 --- a/FrontEnd/src/app/views/common/FullPage.tsx +++ b/FrontEnd/src/views/common/FullPage.tsx diff --git a/FrontEnd/src/app/views/common/ImageCropper.tsx b/FrontEnd/src/views/common/ImageCropper.tsx index 2ef5b7ed..2ef5b7ed 100644 --- a/FrontEnd/src/app/views/common/ImageCropper.tsx +++ b/FrontEnd/src/views/common/ImageCropper.tsx diff --git a/FrontEnd/src/app/views/common/LoadFailReload.tsx b/FrontEnd/src/views/common/LoadFailReload.tsx index a80e7b76..a80e7b76 100644 --- a/FrontEnd/src/app/views/common/LoadFailReload.tsx +++ b/FrontEnd/src/views/common/LoadFailReload.tsx diff --git a/FrontEnd/src/app/views/common/LoadingButton.tsx b/FrontEnd/src/views/common/LoadingButton.tsx index cd9f1adc..cd9f1adc 100644 --- a/FrontEnd/src/app/views/common/LoadingButton.tsx +++ b/FrontEnd/src/views/common/LoadingButton.tsx diff --git a/FrontEnd/src/app/views/common/LoadingPage.tsx b/FrontEnd/src/views/common/LoadingPage.tsx index 590fafa0..590fafa0 100644 --- a/FrontEnd/src/app/views/common/LoadingPage.tsx +++ b/FrontEnd/src/views/common/LoadingPage.tsx diff --git a/FrontEnd/src/app/views/common/Menu.tsx b/FrontEnd/src/views/common/Menu.tsx index ae73a331..ae73a331 100644 --- a/FrontEnd/src/app/views/common/Menu.tsx +++ b/FrontEnd/src/views/common/Menu.tsx diff --git a/FrontEnd/src/app/views/common/OperationDialog.tsx b/FrontEnd/src/views/common/OperationDialog.tsx index ac4c51b9..ac4c51b9 100644 --- a/FrontEnd/src/app/views/common/OperationDialog.tsx +++ b/FrontEnd/src/views/common/OperationDialog.tsx diff --git a/FrontEnd/src/app/views/common/SearchInput.tsx b/FrontEnd/src/views/common/SearchInput.tsx index ccb6dad6..ccb6dad6 100644 --- a/FrontEnd/src/app/views/common/SearchInput.tsx +++ b/FrontEnd/src/views/common/SearchInput.tsx diff --git a/FrontEnd/src/app/views/common/Skeleton.tsx b/FrontEnd/src/views/common/Skeleton.tsx index 14886c71..14886c71 100644 --- a/FrontEnd/src/app/views/common/Skeleton.tsx +++ b/FrontEnd/src/views/common/Skeleton.tsx diff --git a/FrontEnd/src/app/views/common/TabPages.tsx b/FrontEnd/src/views/common/TabPages.tsx index 2b1d91cb..2b1d91cb 100644 --- a/FrontEnd/src/app/views/common/TabPages.tsx +++ b/FrontEnd/src/views/common/TabPages.tsx diff --git a/FrontEnd/src/app/views/common/TimelineLogo.tsx b/FrontEnd/src/views/common/TimelineLogo.tsx index 27d188fc..27d188fc 100644 --- a/FrontEnd/src/app/views/common/TimelineLogo.tsx +++ b/FrontEnd/src/views/common/TimelineLogo.tsx diff --git a/FrontEnd/src/app/views/common/ToggleIconButton.tsx b/FrontEnd/src/views/common/ToggleIconButton.tsx index c4d2d132..c4d2d132 100644 --- a/FrontEnd/src/app/views/common/ToggleIconButton.tsx +++ b/FrontEnd/src/views/common/ToggleIconButton.tsx diff --git a/FrontEnd/src/app/views/common/UserTimelineLogo.tsx b/FrontEnd/src/views/common/UserTimelineLogo.tsx index 19b9fee5..19b9fee5 100644 --- a/FrontEnd/src/app/views/common/UserTimelineLogo.tsx +++ b/FrontEnd/src/views/common/UserTimelineLogo.tsx diff --git a/FrontEnd/src/app/views/common/alert/AlertHost.tsx b/FrontEnd/src/views/common/alert/AlertHost.tsx index 949be7ed..949be7ed 100644 --- a/FrontEnd/src/app/views/common/alert/AlertHost.tsx +++ b/FrontEnd/src/views/common/alert/AlertHost.tsx diff --git a/FrontEnd/src/app/views/common/alert/alert.sass b/FrontEnd/src/views/common/alert/alert.sass index c3560b87..c3560b87 100644 --- a/FrontEnd/src/app/views/common/alert/alert.sass +++ b/FrontEnd/src/views/common/alert/alert.sass diff --git a/FrontEnd/src/app/views/common/common.sass b/FrontEnd/src/views/common/common.sass index cbf7292e..cbf7292e 100644 --- a/FrontEnd/src/app/views/common/common.sass +++ b/FrontEnd/src/views/common/common.sass diff --git a/FrontEnd/src/app/views/common/user/UserAvatar.tsx b/FrontEnd/src/views/common/user/UserAvatar.tsx index 9e822528..901697db 100644 --- a/FrontEnd/src/app/views/common/user/UserAvatar.tsx +++ b/FrontEnd/src/views/common/user/UserAvatar.tsx @@ -1,6 +1,6 @@ import React from "react"; -import { getHttpUserClient } from "@/http/user"; +import { getHttpUserClient } from "http/user"; export interface UserAvatarProps extends React.ImgHTMLAttributes<HTMLImageElement> { diff --git a/FrontEnd/src/app/views/home/TimelineListView.tsx b/FrontEnd/src/views/home/TimelineListView.tsx index 95c3c367..975875af 100644 --- a/FrontEnd/src/app/views/home/TimelineListView.tsx +++ b/FrontEnd/src/views/home/TimelineListView.tsx @@ -2,7 +2,7 @@ import React from "react"; import { convertI18nText, I18nText } from "@/common"; -import { HttpTimelineInfo } from "@/http/timeline"; +import { HttpTimelineInfo } from "http/timeline"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/FrontEnd/src/app/views/home/WebsiteIntroduction.tsx b/FrontEnd/src/views/home/WebsiteIntroduction.tsx index aea7b4b2..aea7b4b2 100644 --- a/FrontEnd/src/app/views/home/WebsiteIntroduction.tsx +++ b/FrontEnd/src/views/home/WebsiteIntroduction.tsx diff --git a/FrontEnd/src/app/views/home/home.sass b/FrontEnd/src/views/home/home.sass index b4cda586..b4cda586 100644 --- a/FrontEnd/src/app/views/home/home.sass +++ b/FrontEnd/src/views/home/home.sass diff --git a/FrontEnd/src/app/views/home/index.tsx b/FrontEnd/src/views/home/index.tsx index 0eca23ee..efc364d7 100644 --- a/FrontEnd/src/app/views/home/index.tsx +++ b/FrontEnd/src/views/home/index.tsx @@ -1,8 +1,8 @@ import React from "react"; import { useHistory } from "react-router"; -import { HttpTimelineInfo } from "@/http/timeline"; -import { getHttpHighlightClient } from "@/http/highlight"; +import { HttpTimelineInfo } from "http/timeline"; +import { getHttpHighlightClient } from "http/highlight"; import SearchInput from "../common/SearchInput"; import TimelineListView from "./TimelineListView"; diff --git a/FrontEnd/src/app/views/login/index.tsx b/FrontEnd/src/views/login/index.tsx index 6adcef39..6adcef39 100644 --- a/FrontEnd/src/app/views/login/index.tsx +++ b/FrontEnd/src/views/login/index.tsx diff --git a/FrontEnd/src/app/views/login/login.sass b/FrontEnd/src/views/login/login.sass index 0bf385f5..0bf385f5 100644 --- a/FrontEnd/src/app/views/login/login.sass +++ b/FrontEnd/src/views/login/login.sass diff --git a/FrontEnd/src/app/views/search/index.tsx b/FrontEnd/src/views/search/index.tsx index 966ca666..14a9709c 100644 --- a/FrontEnd/src/app/views/search/index.tsx +++ b/FrontEnd/src/views/search/index.tsx @@ -4,9 +4,9 @@ import { Container, Row } from "react-bootstrap"; import { useHistory, useLocation } from "react-router"; import { Link } from "react-router-dom"; -import { HttpNetworkError } from "@/http/common"; -import { getHttpSearchClient } from "@/http/search"; -import { HttpTimelineInfo } from "@/http/timeline"; +import { HttpNetworkError } from "http/common"; +import { getHttpSearchClient } from "http/search"; +import { HttpTimelineInfo } from "http/timeline"; import SearchInput from "../common/SearchInput"; import UserAvatar from "../common/user/UserAvatar"; diff --git a/FrontEnd/src/app/views/search/search.sass b/FrontEnd/src/views/search/search.sass index 83f297fe..83f297fe 100644 --- a/FrontEnd/src/app/views/search/search.sass +++ b/FrontEnd/src/views/search/search.sass diff --git a/FrontEnd/src/app/views/settings/ChangeAvatarDialog.tsx b/FrontEnd/src/views/settings/ChangeAvatarDialog.tsx index c4f6f492..338d2112 100644 --- a/FrontEnd/src/app/views/settings/ChangeAvatarDialog.tsx +++ b/FrontEnd/src/views/settings/ChangeAvatarDialog.tsx @@ -7,7 +7,7 @@ import { UiLogicError } from "@/common"; import { useUserLoggedIn } from "@/services/user"; -import { getHttpUserClient } from "@/http/user"; +import { getHttpUserClient } from "http/user"; import ImageCropper, { Clip, applyClipToImage } from "../common/ImageCropper"; diff --git a/FrontEnd/src/app/views/settings/ChangeNicknameDialog.tsx b/FrontEnd/src/views/settings/ChangeNicknameDialog.tsx index 4b44cdd6..e6420f36 100644 --- a/FrontEnd/src/app/views/settings/ChangeNicknameDialog.tsx +++ b/FrontEnd/src/views/settings/ChangeNicknameDialog.tsx @@ -1,4 +1,4 @@ -import { getHttpUserClient } from "@/http/user"; +import { getHttpUserClient } from "http/user"; import { useUserLoggedIn } from "@/services/user"; import React from "react"; diff --git a/FrontEnd/src/app/views/settings/ChangePasswordDialog.tsx b/FrontEnd/src/views/settings/ChangePasswordDialog.tsx index 21eeeb09..21eeeb09 100644 --- a/FrontEnd/src/app/views/settings/ChangePasswordDialog.tsx +++ b/FrontEnd/src/views/settings/ChangePasswordDialog.tsx diff --git a/FrontEnd/src/app/views/settings/index.tsx b/FrontEnd/src/views/settings/index.tsx index 04a2777a..04a2777a 100644 --- a/FrontEnd/src/app/views/settings/index.tsx +++ b/FrontEnd/src/views/settings/index.tsx diff --git a/FrontEnd/src/app/views/settings/settings.sass b/FrontEnd/src/views/settings/settings.sass index 8c6d24b8..8c6d24b8 100644 --- a/FrontEnd/src/app/views/settings/settings.sass +++ b/FrontEnd/src/views/settings/settings.sass diff --git a/FrontEnd/src/app/views/timeline-common/CollapseButton.tsx b/FrontEnd/src/views/timeline-common/CollapseButton.tsx index 12a3b710..12a3b710 100644 --- a/FrontEnd/src/app/views/timeline-common/CollapseButton.tsx +++ b/FrontEnd/src/views/timeline-common/CollapseButton.tsx diff --git a/FrontEnd/src/app/views/timeline-common/ConnectionStatusBadge.tsx b/FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx index df43d8d2..df43d8d2 100644 --- a/FrontEnd/src/app/views/timeline-common/ConnectionStatusBadge.tsx +++ b/FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx diff --git a/FrontEnd/src/app/views/timeline-common/MarkdownPostEdit.tsx b/FrontEnd/src/views/timeline-common/MarkdownPostEdit.tsx index 685e17be..1514d28f 100644 --- a/FrontEnd/src/app/views/timeline-common/MarkdownPostEdit.tsx +++ b/FrontEnd/src/views/timeline-common/MarkdownPostEdit.tsx @@ -4,7 +4,7 @@ import { Form, Spinner } from "react-bootstrap"; import { useTranslation } from "react-i18next"; import { Prompt } from "react-router"; -import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline"; +import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline"; import FlatButton from "../common/FlatButton"; import TabPages from "../common/TabPages"; diff --git a/FrontEnd/src/app/views/timeline-common/PostPropertyChangeDialog.tsx b/FrontEnd/src/views/timeline-common/PostPropertyChangeDialog.tsx index 001e52d7..21c5272e 100644 --- a/FrontEnd/src/app/views/timeline-common/PostPropertyChangeDialog.tsx +++ b/FrontEnd/src/views/timeline-common/PostPropertyChangeDialog.tsx @@ -1,6 +1,6 @@ import React from "react"; -import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline"; +import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline"; import OperationDialog from "../common/OperationDialog"; diff --git a/FrontEnd/src/app/views/timeline-common/Timeline.tsx b/FrontEnd/src/views/timeline-common/Timeline.tsx index 589382b0..40619e64 100644 --- a/FrontEnd/src/app/views/timeline-common/Timeline.tsx +++ b/FrontEnd/src/views/timeline-common/Timeline.tsx @@ -5,8 +5,8 @@ import { HttpForbiddenError, HttpNetworkError, HttpNotFoundError, -} from "@/http/common"; -import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline"; +} from "http/common"; +import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline"; import { getTimelinePostUpdate$ } from "@/services/timeline"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelineDateLabel.tsx b/FrontEnd/src/views/timeline-common/TimelineDateLabel.tsx index 80968ee2..80968ee2 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelineDateLabel.tsx +++ b/FrontEnd/src/views/timeline-common/TimelineDateLabel.tsx diff --git a/FrontEnd/src/app/views/timeline-common/TimelineLine.tsx b/FrontEnd/src/views/timeline-common/TimelineLine.tsx index 0a828b32..0a828b32 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelineLine.tsx +++ b/FrontEnd/src/views/timeline-common/TimelineLine.tsx diff --git a/FrontEnd/src/app/views/timeline-common/TimelineLoading.tsx b/FrontEnd/src/views/timeline-common/TimelineLoading.tsx index fc42f4b4..fc42f4b4 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelineLoading.tsx +++ b/FrontEnd/src/views/timeline-common/TimelineLoading.tsx diff --git a/FrontEnd/src/app/views/timeline-common/TimelineMember.tsx b/FrontEnd/src/views/timeline-common/TimelineMember.tsx index 299d6a53..3d4de8b8 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelineMember.tsx +++ b/FrontEnd/src/views/timeline-common/TimelineMember.tsx @@ -4,12 +4,12 @@ import { Container, ListGroup, Modal, Row, Col, Button } from "react-bootstrap"; import { convertI18nText, I18nText } from "@/common"; -import { HttpUser } from "@/http/user"; -import { getHttpSearchClient } from "@/http/search"; +import { HttpUser } from "http/user"; +import { getHttpSearchClient } from "http/search"; import SearchInput from "../common/SearchInput"; import UserAvatar from "../common/user/UserAvatar"; -import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline"; +import { getHttpTimelineClient, HttpTimelineInfo } from "http/timeline"; const TimelineMemberItem: React.FC<{ user: HttpUser; diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePageCardTemplate.tsx b/FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx index 623d643f..038ea3ab 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePageCardTemplate.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx @@ -2,8 +2,8 @@ import React from "react"; import classnames from "classnames"; import { useTranslation } from "react-i18next"; -import { getHttpHighlightClient } from "@/http/highlight"; -import { getHttpBookmarkClient } from "@/http/bookmark"; +import { getHttpHighlightClient } from "http/highlight"; +import { getHttpBookmarkClient } from "http/bookmark"; import { useUser } from "@/services/user"; import { pushAlert } from "@/services/alert"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx b/FrontEnd/src/views/timeline-common/TimelinePageTemplate.tsx index 658ce502..44926cc6 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePageTemplate.tsx @@ -3,8 +3,8 @@ import { useTranslation } from "react-i18next"; import { Container } from "react-bootstrap"; import { HubConnectionState } from "@microsoft/signalr"; -import { HttpNetworkError, HttpNotFoundError } from "@/http/common"; -import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline"; +import { HttpNetworkError, HttpNotFoundError } from "http/common"; +import { getHttpTimelineClient, HttpTimelineInfo } from "http/timeline"; import { getAlertHost } from "@/services/alert"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx b/FrontEnd/src/views/timeline-common/TimelinePagedPostListView.tsx index 37f02a82..d569a2d7 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePagedPostListView.tsx @@ -1,6 +1,6 @@ import React from "react"; -import { HttpTimelinePostInfo } from "@/http/timeline"; +import { HttpTimelinePostInfo } from "http/timeline"; import useScrollToTop from "@/utilities/useScrollToTop"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostContentView.tsx b/FrontEnd/src/views/timeline-common/TimelinePostContentView.tsx index 607b72c9..f1b53335 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePostContentView.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePostContentView.tsx @@ -4,8 +4,8 @@ import { Remarkable } from "remarkable"; import { UiLogicError } from "@/common"; -import { HttpNetworkError } from "@/http/common"; -import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline"; +import { HttpNetworkError } from "http/common"; +import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline"; import { useUser } from "@/services/user"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx b/FrontEnd/src/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx index b2c7a470..b2c7a470 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx b/FrontEnd/src/views/timeline-common/TimelinePostEdit.tsx index 5f3f0345..0f470fd6 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePostEdit.tsx @@ -10,10 +10,10 @@ import { HttpTimelineInfo, HttpTimelinePostInfo, HttpTimelinePostPostRequestData, -} from "@/http/timeline"; +} from "http/timeline"; import { pushAlert } from "@/services/alert"; -import { base64 } from "@/http/common"; +import { base64 } from "http/common"; import BlobImage from "../common/BlobImage"; import LoadingButton from "../common/LoadingButton"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostListView.tsx b/FrontEnd/src/views/timeline-common/TimelinePostListView.tsx index ba204b72..49284720 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePostListView.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePostListView.tsx @@ -1,7 +1,7 @@ import React, { Fragment } from "react"; import classnames from "classnames"; -import { HttpTimelinePostInfo } from "@/http/timeline"; +import { HttpTimelinePostInfo } from "http/timeline"; import TimelinePostView from "./TimelinePostView"; import TimelineDateLabel from "./TimelineDateLabel"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostView.tsx b/FrontEnd/src/views/timeline-common/TimelinePostView.tsx index f7b81478..e8b32c71 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePostView.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePostView.tsx @@ -3,7 +3,7 @@ import classnames from "classnames"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline"; +import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline"; import { pushAlert } from "@/services/alert"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx b/FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx index 70f72025..83b24d01 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx +++ b/FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx @@ -6,7 +6,7 @@ import { HttpTimelinePatchRequest, kTimelineVisibilities, TimelineVisibility, -} from "@/http/timeline"; +} from "http/timeline"; import OperationDialog from "../common/OperationDialog"; diff --git a/FrontEnd/src/app/views/timeline-common/TimelineTop.tsx b/FrontEnd/src/views/timeline-common/TimelineTop.tsx index dabbdf1e..dabbdf1e 100644 --- a/FrontEnd/src/app/views/timeline-common/TimelineTop.tsx +++ b/FrontEnd/src/views/timeline-common/TimelineTop.tsx diff --git a/FrontEnd/src/app/views/timeline-common/timeline-common.sass b/FrontEnd/src/views/timeline-common/timeline-common.sass index 4400fead..4400fead 100644 --- a/FrontEnd/src/app/views/timeline-common/timeline-common.sass +++ b/FrontEnd/src/views/timeline-common/timeline-common.sass diff --git a/FrontEnd/src/app/views/timeline/TimelineCard.tsx b/FrontEnd/src/views/timeline/TimelineCard.tsx index e031b565..e031b565 100644 --- a/FrontEnd/src/app/views/timeline/TimelineCard.tsx +++ b/FrontEnd/src/views/timeline/TimelineCard.tsx diff --git a/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx b/FrontEnd/src/views/timeline/TimelineDeleteDialog.tsx index dbca62ca..8821507d 100644 --- a/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx +++ b/FrontEnd/src/views/timeline/TimelineDeleteDialog.tsx @@ -2,7 +2,7 @@ import React from "react"; import { useHistory } from "react-router"; import { Trans } from "react-i18next"; -import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline"; +import { getHttpTimelineClient, HttpTimelineInfo } from "http/timeline"; import OperationDialog from "../common/OperationDialog"; diff --git a/FrontEnd/src/app/views/timeline/index.tsx b/FrontEnd/src/views/timeline/index.tsx index c5bfd7ab..c5bfd7ab 100644 --- a/FrontEnd/src/app/views/timeline/index.tsx +++ b/FrontEnd/src/views/timeline/index.tsx diff --git a/FrontEnd/src/app/views/timeline/timeline.sass b/FrontEnd/src/views/timeline/timeline.sass index e69de29b..e69de29b 100644 --- a/FrontEnd/src/app/views/timeline/timeline.sass +++ b/FrontEnd/src/views/timeline/timeline.sass diff --git a/FrontEnd/src/app/views/user/UserCard.tsx b/FrontEnd/src/views/user/UserCard.tsx index e7e4252e..e7e4252e 100644 --- a/FrontEnd/src/app/views/user/UserCard.tsx +++ b/FrontEnd/src/views/user/UserCard.tsx diff --git a/FrontEnd/src/app/views/user/index.tsx b/FrontEnd/src/views/user/index.tsx index 57454d0d..57454d0d 100644 --- a/FrontEnd/src/app/views/user/index.tsx +++ b/FrontEnd/src/views/user/index.tsx diff --git a/FrontEnd/src/app/views/user/user.sass b/FrontEnd/src/views/user/user.sass index 63a28e05..63a28e05 100644 --- a/FrontEnd/src/app/views/user/user.sass +++ b/FrontEnd/src/views/user/user.sass diff --git a/FrontEnd/vite.config.js b/FrontEnd/vite.config.js new file mode 100644 index 00000000..6e8cde1b --- /dev/null +++ b/FrontEnd/vite.config.js @@ -0,0 +1,19 @@ +/**
+ * @type {import('vite').UserConfig}
+ */
+
+import reactRefresh from "@vitejs/plugin-react-refresh";
+import { defineConfig } from "vite";
+
+export default defineConfig({
+ plugins: [reactRefresh()],
+ server: {
+ port: 13000,
+ proxy: {
+ "/api": {
+ target: "http://localhost:5000",
+ changeOrigin: true,
+ },
+ },
+ },
+});
diff --git a/FrontEnd/webpack.common.js b/FrontEnd/webpack.common.js deleted file mode 100644 index 94cdf694..00000000 --- a/FrontEnd/webpack.common.js +++ /dev/null @@ -1,73 +0,0 @@ -const path = require("path");
-const HtmlWebpackPlugin = require("html-webpack-plugin");
-const Config = require("webpack-chain");
-
-const config = new Config();
-
-config.entry("index").add(path.resolve(__dirname, "src/app/index.tsx"));
-
-config.module
- .rule("jsts")
- .test(/\.[jt]sx?$/)
- .exclude.add(/node_modules/)
- .end()
- .use("ts")
- .loader("ts-loader")
- .end();
-
-config.module
- .rule("css")
- .test(/\.css$/)
- .use("css")
- .loader("css-loader")
- .end()
- .use("postcss")
- .loader("postcss-loader")
- .end();
-
-config.module
- .rule("sass")
- .test(/\.(scss|sass)$/)
- .use("css")
- .loader("css-loader")
- .end()
- .use("postcss")
- .loader("postcss-loader")
- .end()
- .use("sass")
- .loader("sass-loader")
- .end();
-
-config.module
- .rule("file")
- .test(/\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot)$/i)
- .use("url")
- .loader("url-loader")
- .options({
- limit: 8192,
- });
-
-config.resolve.extensions
- .add("*")
- .add(".js")
- .add(".jsx")
- .add(".ts")
- .add(".tsx")
- .end();
-
-config.resolve.alias.set("@", path.resolve(__dirname, "src/app"));
-
-config.output
- .path(path.resolve(__dirname, "dist/"))
- .filename("[name].[contenthash].js")
- .chunkFilename("[name].[contenthash].js")
- .publicPath("/");
-
-config.plugin("html").use(HtmlWebpackPlugin, [
- {
- template: "src/app/index.ejs",
- title: "Timeline",
- },
-]);
-
-module.exports = config;
diff --git a/FrontEnd/webpack.config.dev.js b/FrontEnd/webpack.config.dev.js deleted file mode 100644 index 4c6031c7..00000000 --- a/FrontEnd/webpack.config.dev.js +++ /dev/null @@ -1,38 +0,0 @@ -const path = require("path");
-const ReactRefreshWebpackPlugin = require("@pmmmwh/react-refresh-webpack-plugin");
-const ReactRefreshTypeScript = require("react-refresh-typescript");
-
-const config = require("./webpack.common");
-
-config.mode("development");
-
-config.module
- .rule("jsts")
- .use("ts")
- .options({
- getCustomTransformers: () => ({
- before: [ReactRefreshTypeScript()],
- }),
- });
-
-config.module
- .rule("css")
- .use("style")
- .before("css")
- .loader("style-loader")
- .end();
-
-config.module
- .rule("sass")
- .use("style")
- .before("css")
- .loader("style-loader")
- .end();
-
-config.devtool("eval-cheap-module-source-map");
-
-config.devServer.port(3000).historyApiFallback(true).hot(true);
-
-config.plugin("react-refresh").use(new ReactRefreshWebpackPlugin());
-
-module.exports = config.toConfig();
diff --git a/FrontEnd/webpack.config.prod.js b/FrontEnd/webpack.config.prod.js deleted file mode 100644 index 188cb940..00000000 --- a/FrontEnd/webpack.config.prod.js +++ /dev/null @@ -1,53 +0,0 @@ -const path = require("path");
-const { CleanWebpackPlugin } = require("clean-webpack-plugin");
-const CopyPlugin = require("copy-webpack-plugin");
-const WorkboxPlugin = require("workbox-webpack-plugin");
-const MiniCssExtractPlugin = require("mini-css-extract-plugin");
-
-const config = require("./webpack.common");
-
-config.mode("production");
-
-config
- .entry("index")
- .add(path.resolve(__dirname, "src/app/service-worker.tsx"));
-
-config.module
- .rule("css")
- .use("mini-css-extract")
- .before("css")
- .loader(MiniCssExtractPlugin.loader)
- .end();
-
-config.module
- .rule("sass")
- .use("mini-css-extract")
- .before("css")
- .loader(MiniCssExtractPlugin.loader)
- .end();
-
-config.devtool("source-map");
-
-config.plugin("mini-css-extract").use(MiniCssExtractPlugin);
-
-config.plugin("clean").use(CleanWebpackPlugin);
-
-config.plugin("copy").use(CopyPlugin, [
- {
- patterns: [
- {
- from: path.resolve(__dirname, "public/"),
- to: path.resolve(__dirname, "dist/"),
- },
- ],
- },
-]);
-
-config.plugin("workbox").use(WorkboxPlugin.InjectManifest, [
- {
- swSrc: path.resolve(__dirname, "src/sw/sw.ts"),
- maximumFileSizeToCacheInBytes: 15000000,
- },
-]);
-
-module.exports = config.toConfig();
|