Skip to content

Commit

Permalink
feat: host audio locally in development
Browse files Browse the repository at this point in the history
  • Loading branch information
davwheat committed Jul 6, 2024
1 parent ec8d57b commit 9313af4
Show file tree
Hide file tree
Showing 3 changed files with 149 additions and 10 deletions.
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
"clean": "gatsby clean",
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md,less,mdx}\"",
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,md,less,mdx}\"",
"sentry:sourcemaps": "sentry-cli sourcemaps inject --org davw-network --project rail-announcements-web ./public && sentry-cli --url https://sentry.service.davw.network sourcemaps upload --org davw-network --project rail-announcements-web ./public"
"sentry:sourcemaps": "sentry-cli sourcemaps inject --org davw-network --project rail-announcements-web ./public && sentry-cli --url https://sentry.service.davw.network sourcemaps upload --org davw-network --project rail-announcements-web ./public",
"serve-audio": "http-server ./audio/ -c-1 --port 8088 --cors"
},
"dependencies": {
"@cfworker/json-schema": "^1.12.8",
Expand Down Expand Up @@ -74,9 +75,10 @@
"@types/uuid": "^9.0.8",
"cross-env": "^7.0.3",
"gatsby-plugin-webpack-bundle-analyser-v2": "^1.1.32",
"http-server": "^14.1.1",
"prettier": "^3.3.2",
"typescript": "^5.4.5",
"wrangler": "^3.60.3"
},
"packageManager": "yarn@4.3.0"
}
}
4 changes: 3 additions & 1 deletion src/announcement-data/AnnouncementSystem.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,11 +147,13 @@ export default abstract class AnnouncementSystem {
return null
}

private readonly AUDIO_CDN = process.env.NODE_ENV === 'development' ? 'http://local.davw.network:8088' : 'https://cdn.railannouncements.co.uk'

/**
* Generates a URL for the provided audio file ID.
*/
generateAudioFileUrl(fileId: string, customPrefix?: string): string {
return `https://cdn.railannouncements.co.uk/${customPrefix || this.FILE_PREFIX}/${this.processAudioFileId(fileId).replace(/\./g, '/')}.mp3`
return `${this.AUDIO_CDN}/${customPrefix || this.FILE_PREFIX}/${this.processAudioFileId(fileId).replace(/\./g, '/')}.mp3`
}

/**
Expand Down
149 changes: 142 additions & 7 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4908,6 +4908,15 @@ __metadata:
languageName: node
linkType: hard

"async@npm:^2.6.4":
version: 2.6.4
resolution: "async@npm:2.6.4"
dependencies:
lodash: "npm:^4.17.14"
checksum: 10/df8e52817d74677ab50c438d618633b9450aff26deb274da6dfedb8014130909482acdc7753bce9b72e6171ce9a9f6a92566c4ced34c3cb3714d57421d58ad27
languageName: node
linkType: hard

"async@npm:^3.2.4":
version: 3.2.5
resolution: "async@npm:3.2.5"
Expand Down Expand Up @@ -5244,6 +5253,15 @@ __metadata:
languageName: node
linkType: hard

"basic-auth@npm:^2.0.1":
version: 2.0.1
resolution: "basic-auth@npm:2.0.1"
dependencies:
safe-buffer: "npm:5.1.2"
checksum: 10/3419b805d5dfc518f3a05dcf42aa53aa9ce820e50b6df5097f9e186322e1bc733c36722b624802cd37e791035aa73b828ed814d8362333d42d7f5cd04d7a5e48
languageName: node
linkType: hard

"better-opn@npm:^2.1.1":
version: 2.1.1
resolution: "better-opn@npm:2.1.1"
Expand Down Expand Up @@ -6177,6 +6195,13 @@ __metadata:
languageName: node
linkType: hard

"corser@npm:^2.0.1":
version: 2.0.1
resolution: "corser@npm:2.0.1"
checksum: 10/5e520f74e363c33c0235b7ebbaea1939650fb089fa135500b120abde0bb6c4f2f66c40267bdf499dd80216acec1fcea33fd6db0deebc94bf66c825cdabf20b7a
languageName: node
linkType: hard

"cosmiconfig@npm:^6.0.0":
version: 6.0.0
resolution: "cosmiconfig@npm:6.0.0"
Expand Down Expand Up @@ -7753,6 +7778,13 @@ __metadata:
languageName: node
linkType: hard

"eventemitter3@npm:^4.0.0":
version: 4.0.7
resolution: "eventemitter3@npm:4.0.7"
checksum: 10/8030029382404942c01d0037079f1b1bc8fed524b5849c237b80549b01e2fc49709e1d0c557fa65ca4498fc9e24cff1475ef7b855121fcc15f9d61f93e282346
languageName: node
linkType: hard

"events@npm:^3.2.0":
version: 3.3.0
resolution: "events@npm:3.3.0"
Expand Down Expand Up @@ -8144,7 +8176,7 @@ __metadata:
languageName: node
linkType: hard

"follow-redirects@npm:^1.14.0":
"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.0":
version: 1.15.6
resolution: "follow-redirects@npm:1.15.6"
peerDependenciesMeta:
Expand Down Expand Up @@ -9429,7 +9461,7 @@ __metadata:
languageName: node
linkType: hard

"he@npm:1.2.0":
"he@npm:1.2.0, he@npm:^1.2.0":
version: 1.2.0
resolution: "he@npm:1.2.0"
bin:
Expand Down Expand Up @@ -9466,6 +9498,15 @@ __metadata:
languageName: node
linkType: hard

"html-encoding-sniffer@npm:^3.0.0":
version: 3.0.0
resolution: "html-encoding-sniffer@npm:3.0.0"
dependencies:
whatwg-encoding: "npm:^2.0.0"
checksum: 10/707a812ec2acaf8bb5614c8618dc81e2fb6b4399d03e95ff18b65679989a072f4e919b9bef472039301a1bbfba64063ba4c79ea6e851c653ac9db80dbefe8fe5
languageName: node
linkType: hard

"html-entities@npm:^2.1.0, html-entities@npm:^2.3.3":
version: 2.5.2
resolution: "html-entities@npm:2.5.2"
Expand Down Expand Up @@ -9522,6 +9563,40 @@ __metadata:
languageName: node
linkType: hard

"http-proxy@npm:^1.18.1":
version: 1.18.1
resolution: "http-proxy@npm:1.18.1"
dependencies:
eventemitter3: "npm:^4.0.0"
follow-redirects: "npm:^1.0.0"
requires-port: "npm:^1.0.0"
checksum: 10/2489e98aba70adbfd8b9d41ed1ff43528be4598c88616c558b109a09eaffe4bb35e551b6c75ac42ed7d948bb7530a22a2be6ef4f0cecacb5927be139f4274594
languageName: node
linkType: hard

"http-server@npm:^14.1.1":
version: 14.1.1
resolution: "http-server@npm:14.1.1"
dependencies:
basic-auth: "npm:^2.0.1"
chalk: "npm:^4.1.2"
corser: "npm:^2.0.1"
he: "npm:^1.2.0"
html-encoding-sniffer: "npm:^3.0.0"
http-proxy: "npm:^1.18.1"
mime: "npm:^1.6.0"
minimist: "npm:^1.2.6"
opener: "npm:^1.5.1"
portfinder: "npm:^1.0.28"
secure-compare: "npm:3.0.1"
union: "npm:~0.5.0"
url-join: "npm:^4.0.1"
bin:
http-server: bin/http-server
checksum: 10/ce3f4606fdd0cc946852f2dcdb11008cb4459e50e3d9cb1e6c6cf65de82022a7eb8b196e0aa77a90a70757b1b7f3df5407e8c0936ece968c5f24274ce87769a8
languageName: node
linkType: hard

"http2-wrapper@npm:^1.0.0-beta.5.2":
version: 1.0.3
resolution: "http2-wrapper@npm:1.0.3"
Expand Down Expand Up @@ -9585,7 +9660,7 @@ __metadata:
languageName: node
linkType: hard

"iconv-lite@npm:^0.6.2":
"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2":
version: 0.6.3
resolution: "iconv-lite@npm:0.6.3"
dependencies:
Expand Down Expand Up @@ -10971,7 +11046,7 @@ __metadata:
languageName: node
linkType: hard

"lodash@npm:^4.0.0, lodash@npm:^4.17.10, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:~4.17.0":
"lodash@npm:^4.0.0, lodash@npm:^4.17.10, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:~4.17.0":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532
Expand Down Expand Up @@ -11270,7 +11345,7 @@ __metadata:
languageName: node
linkType: hard

"mime@npm:1.6.0, mime@npm:^1.4.1":
"mime@npm:1.6.0, mime@npm:^1.4.1, mime@npm:^1.6.0":
version: 1.6.0
resolution: "mime@npm:1.6.0"
bin:
Expand Down Expand Up @@ -11488,7 +11563,7 @@ __metadata:
languageName: node
linkType: hard

"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.4, mkdirp@npm:^0.5.5":
"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.4, mkdirp@npm:^0.5.5, mkdirp@npm:^0.5.6":
version: 0.5.6
resolution: "mkdirp@npm:0.5.6"
dependencies:
Expand Down Expand Up @@ -12111,7 +12186,7 @@ __metadata:
languageName: node
linkType: hard

"opener@npm:^1.5.2":
"opener@npm:^1.5.1, opener@npm:^1.5.2":
version: 1.5.2
resolution: "opener@npm:1.5.2"
bin:
Expand Down Expand Up @@ -12509,6 +12584,17 @@ __metadata:
languageName: node
linkType: hard

"portfinder@npm:^1.0.28":
version: 1.0.32
resolution: "portfinder@npm:1.0.32"
dependencies:
async: "npm:^2.6.4"
debug: "npm:^3.2.7"
mkdirp: "npm:^0.5.6"
checksum: 10/842058052fb3c3da829589f3f44b13369cf504b16f6ab72fedec78a9438ac3fc53047f5c88a771511b17d6a94f50f83a94cef5fa625027b675d8f7241f7f2185
languageName: node
linkType: hard

"possible-typed-array-names@npm:^1.0.0":
version: 1.0.0
resolution: "possible-typed-array-names@npm:1.0.0"
Expand Down Expand Up @@ -13132,6 +13218,15 @@ __metadata:
languageName: node
linkType: hard

"qs@npm:^6.4.0":
version: 6.12.2
resolution: "qs@npm:6.12.2"
dependencies:
side-channel: "npm:^1.0.6"
checksum: 10/f44863a6431fb288aa773dbedb5707abd29058e5c3667666f6e7acfd4ce20c18adc8cd3409d79c699d3bf7e39e064bc8702c10ac8b123773d95950cb063ffe63
languageName: node
linkType: hard

"query-string@npm:^6.14.1":
version: 6.14.1
resolution: "query-string@npm:6.14.1"
Expand Down Expand Up @@ -13208,6 +13303,7 @@ __metadata:
gatsby-plugin-webpack-bundle-analyser-v2: "npm:^1.1.32"
gatsby-source-filesystem: "npm:^5.13.1"
gatsby-transformer-sharp: "npm:^5.13.1"
http-server: "npm:^14.1.1"
itty-cors: "npm:^0.3.7"
itty-router: "npm:^5.0.17"
mdi-react: "npm:^9.4.0"
Expand Down Expand Up @@ -13787,6 +13883,13 @@ __metadata:
languageName: node
linkType: hard

"requires-port@npm:^1.0.0":
version: 1.0.0
resolution: "requires-port@npm:1.0.0"
checksum: 10/878880ee78ccdce372784f62f52a272048e2d0827c29ae31e7f99da18b62a2b9463ea03a75f277352f4697c100183debb0532371ad515a2d49d4bfe596dd4c20
languageName: node
linkType: hard

"resolve-alpn@npm:^1.0.0, resolve-alpn@npm:^1.2.0":
version: 1.2.1
resolution: "resolve-alpn@npm:1.2.1"
Expand Down Expand Up @@ -14101,6 +14204,13 @@ __metadata:
languageName: node
linkType: hard

"secure-compare@npm:3.0.1":
version: 3.0.1
resolution: "secure-compare@npm:3.0.1"
checksum: 10/0a8d8d3e54d5772d2cf1c02325f01fc7366d0bd33f964a08a84fe3ee5f34d46435a6ae729c1d239c750e160ef9b58c764d3efb945a1d07faf47978a8e4161594
languageName: node
linkType: hard

"selfsigned@npm:^2.0.1":
version: 2.4.1
resolution: "selfsigned@npm:2.4.1"
Expand Down Expand Up @@ -15577,6 +15687,15 @@ __metadata:
languageName: node
linkType: hard

"union@npm:~0.5.0":
version: 0.5.0
resolution: "union@npm:0.5.0"
dependencies:
qs: "npm:^6.4.0"
checksum: 10/f5ef4ca75b4aeab2717546247fb51459050d4b4fefb0db30d46752a63144768abb1a3e4338faaa15860cc2d32ad6939b8e9d48551aaaf476172ea48c74c5b85c
languageName: node
linkType: hard

"unique-filename@npm:^3.0.0":
version: 3.0.0
resolution: "unique-filename@npm:3.0.0"
Expand Down Expand Up @@ -15675,6 +15794,13 @@ __metadata:
languageName: node
linkType: hard

"url-join@npm:^4.0.1":
version: 4.0.1
resolution: "url-join@npm:4.0.1"
checksum: 10/b53b256a9a36ed6b0f6768101e78ca97f32d7b935283fd29ce19d0bbfb6f88aa80aa6c03fd87f2f8978ab463a6539f597a63051e7086f3379685319a7495f709
languageName: node
linkType: hard

"url-loader@npm:^4.1.1":
version: 4.1.1
resolution: "url-loader@npm:4.1.1"
Expand Down Expand Up @@ -15946,6 +16072,15 @@ __metadata:
languageName: node
linkType: hard

"whatwg-encoding@npm:^2.0.0":
version: 2.0.0
resolution: "whatwg-encoding@npm:2.0.0"
dependencies:
iconv-lite: "npm:0.6.3"
checksum: 10/162d712d88fd134a4fe587e53302da812eb4215a1baa4c394dfd86eff31d0a079ff932c05233857997de07481093358d6e7587997358f49b8a580a777be22089
languageName: node
linkType: hard

"whatwg-url@npm:^5.0.0":
version: 5.0.0
resolution: "whatwg-url@npm:5.0.0"
Expand Down

0 comments on commit 9313af4

Please sign in to comment.