Skip to content

Commit e7fb844

Browse files
authored
Merge pull request #167 from cupcakearmy/svelte-5
some frontend love
2 parents 567a0be + c13e534 commit e7fb844

34 files changed

+989
-1773
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@
1717
"npm-run-all": "^4.1.5",
1818
"shelljs": "^0.8.5"
1919
},
20-
"packageManager": "pnpm@9.11.0"
20+
"packageManager": "pnpm@9.15.4"
2121
}

packages/backend/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/backend/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "cryptgeon"
3-
version = "2.8.4"
3+
version = "2.9.0"
44
authors = ["cupcakearmy <[email protected]>"]
55
edition = "2021"
66
rust-version = "1.80"

packages/backend/src/csp.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
use axum::{body::Body, extract::Request, http::HeaderValue, middleware::Next, response::Response};
2+
3+
const CUSTOM_HEADER_NAME: &str = "Content-Security-Policy";
4+
const CUSTOM_HEADER_VALUE: &str = "default-src 'self'; script-src 'report-sample' 'self'; style-src 'report-sample' 'self'; object-src 'none'; base-uri 'self'; connect-src 'self' data:; font-src 'self'; frame-src 'self'; img-src 'self'; manifest-src 'self'; media-src 'self'; worker-src 'none';";
5+
6+
lazy_static! {
7+
static ref HEADER_VALUE: HeaderValue = HeaderValue::from_static(CUSTOM_HEADER_VALUE);
8+
}
9+
10+
pub async fn add_csp_header(request: Request<Body>, next: Next) -> Response {
11+
let mut response = next.run(request).await;
12+
response
13+
.headers_mut()
14+
.append(CUSTOM_HEADER_NAME, HEADER_VALUE.clone());
15+
response
16+
}

packages/backend/src/main.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
use std::{collections::HashMap, sync::Arc};
22

33
use axum::{
4+
body::Body,
45
extract::{DefaultBodyLimit, Request},
6+
http::HeaderValue,
7+
middleware::{self, Next},
8+
response::Response,
59
routing::{delete, get, post},
610
Router, ServiceExt,
711
};
@@ -19,6 +23,7 @@ use tower_http::{
1923
extern crate lazy_static;
2024

2125
mod config;
26+
mod csp;
2227
mod health;
2328
mod lock;
2429
mod note;
@@ -55,6 +60,8 @@ async fn main() {
5560
let app = Router::new()
5661
.nest("/api", api_routes)
5762
.fallback_service(serve_dir)
63+
// Disabled for now, as svelte inlines scripts
64+
// .layer(middleware::from_fn(csp::add_csp_header))
5865
.layer(DefaultBodyLimit::max(*config::LIMIT))
5966
.layer(
6067
CompressionLayer::new()

packages/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cryptgeon",
3-
"version": "2.8.4",
3+
"version": "2.9.0",
44
"homepage": "https://github.com/cupcakearmy/cryptgeon",
55
"repository": {
66
"type": "git",

packages/frontend/package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@
1313
},
1414
"type": "module",
1515
"devDependencies": {
16-
"@lokalise/node-api": "^12.1.0",
17-
"@sveltejs/adapter-static": "^3.0.1",
18-
"@sveltejs/kit": "^2.5.2",
19-
"@sveltejs/vite-plugin-svelte": "^3.0.2",
20-
"@zerodevx/svelte-toast": "^0.9.5",
21-
"adm-zip": "^0.5.10",
22-
"dotenv": "^16.4.5",
23-
"svelte": "^4.2.12",
24-
"svelte-check": "^3.6.6",
16+
"@lokalise/node-api": "^13.0.0",
17+
"@sveltejs/adapter-static": "^3.0.8",
18+
"@sveltejs/kit": "^2.16.0",
19+
"@sveltejs/vite-plugin-svelte": "^5.0.3",
20+
"@zerodevx/svelte-toast": "^0.9.6",
21+
"adm-zip": "^0.5.16",
22+
"dotenv": "^16.4.7",
23+
"svelte": "^5.19.0",
24+
"svelte-check": "^4.1.4",
2525
"svelte-intl-precompile": "^0.12.3",
26-
"tslib": "^2.6.2",
27-
"typescript": "^5.3.3",
28-
"vite": "^5.1.7"
26+
"tslib": "^2.8.1",
27+
"typescript": "^5.7.3",
28+
"vite": "^6.0.7"
2929
},
3030
"dependencies": {
31+
"@fontsource/fira-mono": "^5.1.1",
3132
"cryptgeon": "workspace:*",
32-
"@fontsource/fira-mono": "^5.0.8",
3333
"occulto": "^2.0.6",
3434
"pretty-bytes": "^6.1.1",
3535
"qrious": "^4.0.2"

packages/frontend/src/lib/icons/IconContrast.svelte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<script lang="ts"></script>
2+
13
<svg xmlns="http://www.w3.org/2000/svg" class="ionicon" viewBox="0 0 512 512"
24
><title>Contrast</title><path
35
d="M256 32C132.29 32 32 132.29 32 256s100.29 224 224 224 224-100.29 224-224S379.71 32 256 32zM128.72 383.28A180 180 0 01256 76v360a178.82 178.82 0 01-127.28-52.72z"

packages/frontend/src/lib/icons/IconCopy.svelte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<script lang="ts"></script>
2+
13
<svg xmlns="http://www.w3.org/2000/svg" class="ionicon" viewBox="0 0 512 512"
24
><title>Copy</title><path
35
d="M456 480H136a24 24 0 01-24-24V128a16 16 0 0116-16h328a24 24 0 0124 24v320a24 24 0 01-24 24z"

packages/frontend/src/lib/icons/IconDice.svelte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<script lang="ts"></script>
2+
13
<svg xmlns="http://www.w3.org/2000/svg" class="ionicon" viewBox="0 0 512 512"
24
><title>Dice</title><path
35
d="M48 366.92L240 480V284L48 170zM192 288c8.84 0 16 10.75 16 24s-7.16 24-16 24-16-10.75-16-24 7.16-24 16-24zm-96 32c8.84 0 16 10.75 16 24s-7.16 24-16 24-16-10.75-16-24 7.16-24 16-24zM272 284v196l192-113.08V170zm48 140c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm0-88c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm96 32c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm0-88c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm32 77.64zM256 32L64 144l192 112 192-112zm0 120c-13.25 0-24-7.16-24-16s10.75-16 24-16 24 7.16 24 16-10.75 16-24 16z"

0 commit comments

Comments
 (0)