Moved some constants to a dotenv config

This commit is contained in:
dangered wolf 2022-07-15 22:52:20 -04:00
parent e9bc664668
commit e7256fd1d8
No known key found for this signature in database
GPG key ID: 41E4D37680ED8B58
7 changed files with 57 additions and 18 deletions

4
.env.example Normal file
View file

@ -0,0 +1,4 @@
BRANDING_NAME = "pxTwitter"
DIRECT_MEDIA_DOMAINS = "d.pxtwitter.com,d.twittpr.com,dl.pxtwitter.com,dl.twittpr.com"
HOST_URL = "https://pxtwitter.com"
REDIRECT_URL = "https://github.com/dangeredwolf/pxTwitter"

3
.gitignore vendored
View file

@ -1,3 +1,4 @@
dist
node_modules
wrangler.toml
wrangler.toml
.env

32
package-lock.json generated
View file

@ -14,6 +14,7 @@
"devDependencies": {
"@cloudflare/workers-types": "^3.14.1",
"@types/service-worker-mock": "^2.0.1",
"dotenv": "^16.0.1",
"prettier": "^2.7.1",
"service-worker-mock": "^2.0.5",
"ts-loader": "^9.3.1",
@ -181,6 +182,15 @@
"node": ">=16.7"
}
},
"node_modules/@miniflare/core/node_modules/dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/@miniflare/durable-objects": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.6.0.tgz",
@ -862,12 +872,12 @@
}
},
"node_modules/dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
"integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==",
"dev": true,
"engines": {
"node": ">=10"
"node": ">=12"
}
},
"node_modules/electron-to-chromium": {
@ -2804,6 +2814,14 @@
"set-cookie-parser": "^2.4.8",
"undici": "5.5.1",
"urlpattern-polyfill": "^4.0.3"
},
"dependencies": {
"dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
"dev": true
}
}
},
"@miniflare/durable-objects": {
@ -3359,9 +3377,9 @@
}
},
"dotenv": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
"integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==",
"dev": true
},
"electron-to-chromium": {

View file

@ -16,6 +16,7 @@
"devDependencies": {
"@cloudflare/workers-types": "^3.14.1",
"@types/service-worker-mock": "^2.0.1",
"dotenv": "^16.0.1",
"prettier": "^2.7.1",
"service-worker-mock": "^2.0.5",
"ts-loader": "^9.3.1",

View file

@ -1,15 +1,10 @@
const fakeChromeVersion = '103';
export const Constants = {
BRANDING_NAME: `pxTwitter`,
DIRECT_MEDIA_DOMAINS: [
'd.pxtwitter.com',
'd.twittpr.com',
'dl.pxtwitter.com',
'dl.twittpr.com'
],
HOST_URL: `https://pxtwitter.com`,
REDIRECT_URL: 'https://github.com/dangeredwolf/pxTwitter',
BRANDING_NAME: BRANDING_NAME,
DIRECT_MEDIA_DOMAINS: DIRECT_MEDIA_DOMAINS.split(','),
HOST_URL: HOST_URL,
REDIRECT_URL: REDIRECT_URL,
TWITTER_ROOT: 'https://twitter.com',
TWITTER_API_ROOT: 'https://api.twitter.com',
/* We used to use Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA

4
src/env.d.ts vendored Normal file
View file

@ -0,0 +1,4 @@
declare const BRANDING_NAME: string;
declare const DIRECT_MEDIA_DOMAINS: string;
declare const HOST_URL: string;
declare const REDIRECT_URL: string;

View file

@ -1,4 +1,7 @@
const path = require('path');
const webpack = require('webpack');
require('dotenv').config();
module.exports = {
entry: {
@ -13,7 +16,20 @@ module.exports = {
extensions: ['.ts', '.tsx', '.js'],
fallback: { util: false }
},
plugins: [],
plugins: [
new webpack.DefinePlugin({
BRANDING_NAME: `'${process.env.BRANDING_NAME}'`,
}),
new webpack.DefinePlugin({
DIRECT_MEDIA_DOMAINS: `'${process.env.DIRECT_MEDIA_DOMAINS}'`,
}),
new webpack.DefinePlugin({
HOST_URL: `'${process.env.HOST_URL}'`,
}),
new webpack.DefinePlugin({
REDIRECT_URL: `'${process.env.REDIRECT_URL}'`,
}),
],
optimization: {
mangleExports: 'size'
},