mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
enforce config in frontend
This commit is contained in:
parent
28588ae25c
commit
703217e938
@ -1,3 +1,5 @@
|
||||
CONFIG_VERSION=v1.2022-03-18
|
||||
|
||||
META_URL=http://localhost
|
||||
META_TITLE_DE="Gradido – Dein Dankbarkeitskonto"
|
||||
META_TITLE_EN="Gradido - Your gratitude account"
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
CONFIG_VERSION=$FRONTEND_CONFIG_VERSION
|
||||
|
||||
META_URL=$META_URL
|
||||
META_TITLE_DE=$META_TITLE_DE
|
||||
META_TITLE_EN=$META_TITLE_EN
|
||||
|
||||
@ -4,6 +4,14 @@
|
||||
// Load Package Details for some default values
|
||||
const pkg = require('../../package')
|
||||
|
||||
const constants = {
|
||||
CONFIG_VERSION: {
|
||||
DEFAULT: 'DEFAULT',
|
||||
EXPECTED: 'v1.2022-03-18',
|
||||
CURRENT: '',
|
||||
},
|
||||
}
|
||||
|
||||
const version = {
|
||||
APP_VERSION: pkg.version,
|
||||
BUILD_COMMIT: process.env.BUILD_COMMIT || null,
|
||||
@ -16,39 +24,50 @@ const environment = {
|
||||
DEBUG: process.env.NODE_ENV !== 'production' || false,
|
||||
PRODUCTION: process.env.NODE_ENV === 'production' || false,
|
||||
DEFAULT_PUBLISHER_ID: process.env.DEFAULT_PUBLISHER_ID || 2896,
|
||||
PORT: process.env.PORT || 3000,
|
||||
}
|
||||
|
||||
// const meta = {
|
||||
// META_URL: process.env.META_URL || 'http://localhost',
|
||||
// META_TITLE_DE: process.env.META_TITLE_DE || 'Gradido – Dein Dankbarkeitskonto',
|
||||
// META_TITLE_EN: process.env.META_TITLE_EN || 'Gradido - Your gratitude account',
|
||||
// META_DESCRIPTION_DE:
|
||||
// process.env.META_DESCRIPTION_DE ||
|
||||
// 'Dankbarkeit ist die Währung der neuen Zeit. Immer mehr Menschen entfalten ihr Potenzial und gestalten eine gute Zukunft für alle.',
|
||||
// META_DESCRIPTION_EN:
|
||||
// process.env.META_DESCRIPTION_EN ||
|
||||
// 'Gratitude is the currency of the new age. More and more people are unleashing their potential and shaping a good future for all.',
|
||||
// META_KEYWORDS_DE:
|
||||
// process.env.META_KEYWORDS_DE ||
|
||||
// 'Grundeinkommen, Währung, Dankbarkeit, Schenk-Ökonomie, Natürliche Ökonomie des Lebens, Ökonomie, Ökologie, Potenzialentfaltung, Schenken und Danken, Kreislauf des Lebens, Geldsystem',
|
||||
// META_KEYWORDS_EN:
|
||||
// process.env.META_KEYWORDS_EN ||
|
||||
// 'Basic Income, Currency, Gratitude, Gift Economy, Natural Economy of Life, Economy, Ecology, Potential Development, Giving and Thanking, Cycle of Life, Monetary System',
|
||||
// META_AUTHOR: process.env.META_AUTHOR || 'Bernd Hückstädt - Gradido-Akademie',
|
||||
// }
|
||||
const meta = {
|
||||
META_URL: process.env.META_URL || 'http://localhost',
|
||||
META_TITLE_DE: process.env.META_TITLE_DE || 'Gradido – Dein Dankbarkeitskonto',
|
||||
META_TITLE_EN: process.env.META_TITLE_EN || 'Gradido - Your gratitude account',
|
||||
META_DESCRIPTION_DE:
|
||||
process.env.META_DESCRIPTION_DE ||
|
||||
'Dankbarkeit ist die Währung der neuen Zeit. Immer mehr Menschen entfalten ihr Potenzial und gestalten eine gute Zukunft für alle.',
|
||||
META_DESCRIPTION_EN:
|
||||
process.env.META_DESCRIPTION_EN ||
|
||||
'Gratitude is the currency of the new age. More and more people are unleashing their potential and shaping a good future for all.',
|
||||
META_KEYWORDS_DE:
|
||||
process.env.META_KEYWORDS_DE ||
|
||||
'Grundeinkommen, Währung, Dankbarkeit, Schenk-Ökonomie, Natürliche Ökonomie des Lebens, Ökonomie, Ökologie, Potenzialentfaltung, Schenken und Danken, Kreislauf des Lebens, Geldsystem',
|
||||
META_KEYWORDS_EN:
|
||||
process.env.META_KEYWORDS_EN ||
|
||||
'Basic Income, Currency, Gratitude, Gift Economy, Natural Economy of Life, Economy, Ecology, Potential Development, Giving and Thanking, Cycle of Life, Monetary System',
|
||||
META_AUTHOR: process.env.META_AUTHOR || 'Bernd Hückstädt - Gradido-Akademie',
|
||||
}
|
||||
|
||||
const endpoints = {
|
||||
GRAPHQL_URI: process.env.GRAPHQL_URI || 'http://localhost/graphql',
|
||||
ADMIN_AUTH_URL: process.env.ADMIN_AUTH_URL || 'http://localhost/admin/authenticate?token={token}',
|
||||
}
|
||||
|
||||
const options = {}
|
||||
// Check config version
|
||||
constants.CONFIG_VERSION.CURRENT = process.env.CONFIG_VERSION || constants.CONFIG_VERSION.DEFAULT
|
||||
if (
|
||||
![constants.CONFIG_VERSION.EXPECTED, constants.CONFIG_VERSION.DEFAULT].includes(
|
||||
constants.CONFIG_VERSION.CURRENT,
|
||||
)
|
||||
) {
|
||||
throw new Error(
|
||||
`Fatal: Config Version incorrect - expected "${constants.CONFIG_VERSION.EXPECTED}" or "${constants.CONFIG_VERSION.DEFAULT}", but found "${constants.CONFIG_VERSION.CURRENT}"`,
|
||||
)
|
||||
}
|
||||
|
||||
const CONFIG = {
|
||||
...version,
|
||||
...environment,
|
||||
...endpoints,
|
||||
...options,
|
||||
...meta,
|
||||
}
|
||||
|
||||
export default CONFIG
|
||||
module.exports = CONFIG
|
||||
|
||||
@ -3,11 +3,12 @@ const webpack = require('webpack')
|
||||
const Dotenv = require('dotenv-webpack')
|
||||
const StatsPlugin = require('stats-webpack-plugin')
|
||||
const HtmlWebpackPlugin = require('vue-html-webpack-plugin')
|
||||
const CONFIG = require('./src/config')
|
||||
|
||||
// vue.config.js
|
||||
module.exports = {
|
||||
devServer: {
|
||||
port: process.env.PORT || 3000,
|
||||
port: CONFIG.PORT,
|
||||
},
|
||||
pluginOptions: {
|
||||
i18n: {
|
||||
@ -35,7 +36,7 @@ module.exports = {
|
||||
// 'process.env.DOCKER_WORKDIR': JSON.stringify(process.env.DOCKER_WORKDIR),
|
||||
// 'process.env.BUILD_DATE': JSON.stringify(process.env.BUILD_DATE),
|
||||
// 'process.env.BUILD_VERSION': JSON.stringify(process.env.BUILD_VERSION),
|
||||
'process.env.BUILD_COMMIT': JSON.stringify(process.env.BUILD_COMMIT),
|
||||
'process.env.BUILD_COMMIT': JSON.stringify(CONFIG.BUILD_COMMIT),
|
||||
// 'process.env.PORT': JSON.stringify(process.env.PORT),
|
||||
}),
|
||||
// generate webpack stats to allow analysis of the bundlesize
|
||||
@ -44,14 +45,14 @@ module.exports = {
|
||||
vue: true,
|
||||
template: 'public/index.html',
|
||||
meta: {
|
||||
title_de: process.env.META_TITLE_DE,
|
||||
title_en: process.env.META_TITLE_EN,
|
||||
description_de: process.env.META_DESCRIPTION_DE,
|
||||
description_en: process.env.META_DESCRIPTION_EN,
|
||||
keywords_de: process.env.META_KEYWORDS_DE,
|
||||
keywords_en: process.env.META_KEYWORDS_EN,
|
||||
author: process.env.META_AUTHOR,
|
||||
url: process.env.META_URL,
|
||||
title_de: CONFIG.META_TITLE_DE,
|
||||
title_en: CONFIG.META_TITLE_EN,
|
||||
description_de: CONFIG.META_DESCRIPTION_DE,
|
||||
description_en: CONFIG.META_DESCRIPTION_EN,
|
||||
keywords_de: CONFIG.META_KEYWORDS_DE,
|
||||
keywords_en: CONFIG.META_KEYWORDS_EN,
|
||||
author: CONFIG.META_AUTHOR,
|
||||
url: CONFIG.META_URL,
|
||||
},
|
||||
}),
|
||||
],
|
||||
@ -61,7 +62,7 @@ module.exports = {
|
||||
},
|
||||
css: {
|
||||
// Enable CSS source maps.
|
||||
sourceMap: process.env.NODE_ENV !== 'production',
|
||||
sourceMap: CONFIG.NODE_ENV !== 'production',
|
||||
},
|
||||
outputDir: path.resolve(__dirname, './dist'),
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user