diff --git a/src/renderer/components/ModalSettings.vue b/src/renderer/components/ModalSettings.vue index 8c1f5f39..bb8ccd1f 100644 --- a/src/renderer/components/ModalSettings.vue +++ b/src/renderer/components/ModalSettings.vue @@ -282,12 +282,18 @@

{{ appName }}

-

+

{{ $t('word.version') }} {{ appVersion }}
GitHub Twitter Website
- {{ $t('word.author') }} Fabio Di Stasio
- {{ $t('message.madeWithJS') }} + {{ $t('word.author') }} {{ appAuthor }}

+
+ {{ $t('word.contributors') }}: +
+ {{ i !== 0 ? ', ' : '' }}{{ contributor }} +
+ {{ $t('message.madeWithJS') }} +
@@ -313,6 +319,7 @@ export default { }, data () { return { + appAuthor: 'Fabio Di Stasio', localLocale: null, localPageSize: null, localTimeout: null, @@ -367,7 +374,8 @@ export default { { code: 'vibrant_ink', name: 'Vibrant Ink' } ] } - ] + ], + contributors: process.env.APP_CONTRIBUTORS }; }, computed: { @@ -417,6 +425,12 @@ GROUP BY ORDER BY employee.id ASC; `; + }, + otherContributors () { + return this.contributors + .split(',') + .filter(c => !c.includes(this.appAuthor)) + .sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase())); } }, created () { diff --git a/src/renderer/i18n/en-US.js b/src/renderer/i18n/en-US.js index 8b24be5b..af84f7f6 100644 --- a/src/renderer/i18n/en-US.js +++ b/src/renderer/i18n/en-US.js @@ -127,7 +127,8 @@ module.exports = { disable: 'Disable', commit: 'Commit', rollback: 'Rollback', - connectionString: 'Connection string' + connectionString: 'Connection string', + contributors: 'Contributors' }, message: { appWelcome: 'Welcome to Antares SQL Client!', diff --git a/webpack.renderer.config.js b/webpack.renderer.config.js index 27d6dc7e..9bb9cb8a 100644 --- a/webpack.renderer.config.js +++ b/webpack.renderer.config.js @@ -1,3 +1,4 @@ +const fs = require('fs'); const path = require('path'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -6,6 +7,11 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const ProgressPlugin = require('progress-webpack-plugin'); const { dependencies, devDependencies, version } = require('./package.json'); +const { contributors } = JSON.parse(fs.readFileSync('./.all-contributorsrc', 'utf-8')); +const parsedContributors = contributors.reduce((acc, c) => { + acc.push(c.name); + return acc; +}, []).join(','); const externals = Object.keys(dependencies).concat(Object.keys(devDependencies)); const isDevMode = process.env.NODE_ENV === 'development'; @@ -64,7 +70,8 @@ const config = { new VueLoaderPlugin(), new webpack.DefinePlugin({ 'process.env': { - PACKAGE_VERSION: `"${version}"` + PACKAGE_VERSION: `"${version}"`, + APP_CONTRIBUTORS: `"${parsedContributors}"` } }) ],