From 204d86ce565074906cda08c9cb8770b5c58b3215 Mon Sep 17 00:00:00 2001 From: ckt1031 <65409152+ckt1031@users.noreply.github.com> Date: Fri, 8 Sep 2023 14:38:37 +0800 Subject: [PATCH] fix: add sri --- web/package.json | 5 +- web/pnpm-lock.yaml | 93 ++++++++++++++++++++++++++++-- web/src/components/RegisterForm.js | 1 - web/vite.config.js | 2 + 4 files changed, 94 insertions(+), 7 deletions(-) diff --git a/web/package.json b/web/package.json index 86ecda9c..19cbed09 100644 --- a/web/package.json +++ b/web/package.json @@ -6,7 +6,7 @@ "@vitejs/plugin-react-swc": "^3.3.2", "axios": "^1.5.0", "history": "^5.3.0", - "marked": "^8.0.0", + "marked": "^8.0.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-dropzone": "^14.2.3", @@ -20,7 +20,8 @@ "vite": "^4.4.9", "vite-plugin-env-compatible": "^1.1.1", "vite-plugin-html": "^3.2.0", - "vite-plugin-image-optimizer": "^1.1.7" + "vite-plugin-image-optimizer": "^1.1.7", + "vite-plugin-sri": "^0.0.2" }, "scripts": { "start": "vite preview", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 87250519..a71fdea9 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -15,8 +15,8 @@ dependencies: specifier: ^5.3.0 version: 5.3.0 marked: - specifier: ^8.0.0 - version: 8.0.0 + specifier: ^8.0.1 + version: 8.0.1 react: specifier: ^18.2.0 version: 18.2.0 @@ -59,6 +59,9 @@ dependencies: vite-plugin-image-optimizer: specifier: ^1.1.7 version: 1.1.7(vite@4.4.9) + vite-plugin-sri: + specifier: ^0.0.2 + version: 0.0.2 devDependencies: prettier: @@ -627,6 +630,30 @@ packages: supports-color: 7.2.0 dev: false + /cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + dev: false + + /cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + dev: false + /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: false @@ -1036,6 +1063,15 @@ packages: terser: 5.19.3 dev: false + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: false + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false @@ -1128,8 +1164,8 @@ packages: yallist: 4.0.0 dev: false - /marked@8.0.0: - resolution: {integrity: sha512-RI/D5csFVreNrFchdKFSdV38GDHJdD7OdmbNWYzGvApPb0A9pyypgfHC/FBH4ugmRE8cr7yg/TH7tu8585eMhA==} + /marked@8.0.1: + resolution: {integrity: sha512-eEbeEb/mJwh+sNLEhHOWtxMgjN/NEwZUBs1nkiIH2sTQTq07KmPMQ48ihyvo5+Ya56spVOPhunfGr6406crCVA==} engines: {node: '>= 16'} hasBin: true dev: false @@ -1221,6 +1257,18 @@ packages: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} dev: false + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + /node-html-parser@5.4.2: resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} dependencies: @@ -1252,6 +1300,19 @@ packages: tslib: 2.6.2 dev: false + /parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + dev: false + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: false + /pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: @@ -1676,6 +1737,10 @@ packages: is-number: 7.0.0 dev: false + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false @@ -1730,6 +1795,15 @@ packages: vite: 4.4.9 dev: false + /vite-plugin-sri@0.0.2: + resolution: {integrity: sha512-oTpYWvS9xmwee3kK39cr8p2KbQ+/HzOG0bxo0dzMogJ4lR11favOzrapwb2eASVt5rX3LEzG25bEqoSY4CUniA==} + dependencies: + cheerio: 1.0.0-rc.12 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + dev: false + /vite@4.4.9: resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1771,6 +1845,17 @@ packages: loose-envify: 1.4.0 dev: false + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false diff --git a/web/src/components/RegisterForm.js b/web/src/components/RegisterForm.js index f91d6da0..5044ef6f 100644 --- a/web/src/components/RegisterForm.js +++ b/web/src/components/RegisterForm.js @@ -40,7 +40,6 @@ const RegisterForm = () => { function handleChange(e) { const { name, value } = e.target; - console.log(name, value); setInputs((inputs) => ({ ...inputs, [name]: value })); } diff --git a/web/vite.config.js b/web/vite.config.js index 5a215df0..e3d6a0cd 100644 --- a/web/vite.config.js +++ b/web/vite.config.js @@ -3,9 +3,11 @@ import react from '@vitejs/plugin-react-swc' import envCompatible from 'vite-plugin-env-compatible' import { createHtmlPlugin } from 'vite-plugin-html' import { ViteImageOptimizer } from 'vite-plugin-image-optimizer'; +import sri from 'vite-plugin-sri'; export default defineConfig({ plugins: [ + sri(), react(), ViteImageOptimizer(), createHtmlPlugin(),