diff options
author | Tim Zallmann <tzallmann@gitlab.com> | 2017-09-22 08:39:47 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-09-22 08:39:47 +0000 |
commit | 55f772bb98a67ad346442a2cacb5646f6719b987 (patch) | |
tree | fdcda42d5ee9c746b5654a50fa88a0fd1464d3a8 /config | |
parent | d103e95513704314a38ab8ae441851524031c4a1 (diff) | |
download | gitlab-ce-55f772bb98a67ad346442a2cacb5646f6719b987.tar.gz |
Resolve "Better SVG Usage in the Frontend"
Diffstat (limited to 'config')
-rw-r--r-- | config/dependency_decisions.yml | 12 | ||||
-rw-r--r-- | config/svg.config.js | 48 | ||||
-rw-r--r-- | config/webpack.config.js | 1 |
3 files changed, 61 insertions, 0 deletions
diff --git a/config/dependency_decisions.yml b/config/dependency_decisions.yml index 6c5c8cad270..db31b01a7d2 100644 --- a/config/dependency_decisions.yml +++ b/config/dependency_decisions.yml @@ -452,3 +452,15 @@ :why: https://github.com/jaredhanson/utils-merge/blob/v1.0.0/LICENSE :versions: [] :when: 2017-09-16 05:18:26.193764000 Z +- - :approve + - svg4everybody + - :who: Tim Zallmann + :why: CC0 1.0 - https://github.com/jonathantneal/svg4everybody/blob/master/LICENSE.md + :versions: [] + :when: 2017-09-13 17:31:16.425819400 Z +- - :approve + - gitlab-svgs + - :who: Tim Zallmann + :why: Our own library - https://gitlab.com/gitlab-org/gitlab-svgs + :versions: [] + :when: 2017-09-19 14:36:32.795496000 Z diff --git a/config/svg.config.js b/config/svg.config.js new file mode 100644 index 00000000000..be72741abec --- /dev/null +++ b/config/svg.config.js @@ -0,0 +1,48 @@ +/* eslint-disable no-commonjs */ +const path = require('path'); +const fs = require('fs'); + +const sourcePath = path.join('node_modules', 'gitlab-svgs', 'dist'); +const sourcePathIllustrations = path.join('node_modules', 'gitlab-svgs', 'dist', 'illustrations'); +const destPath = path.normalize(path.join('app', 'assets', 'images')); + +// Actual Task copying the 2 files + all illustrations +copyFileSync(path.join(sourcePath, 'icons.svg'), destPath); +copyFileSync(path.join(sourcePath, 'icons.json'), destPath); +copyFolderRecursiveSync(sourcePathIllustrations, destPath); + +// Helper Functions +function copyFileSync(source, target) { + var targetFile = target; + //if target is a directory a new file with the same name will be created + if (fs.existsSync(target)) { + if (fs.lstatSync(target).isDirectory()) { + targetFile = path.join(target, path.basename(source)); + } + } + console.log(`Copy SVG File : ${targetFile}`); + fs.writeFileSync(targetFile, fs.readFileSync(source)); +} + +function copyFolderRecursiveSync(source, target) { + var files = []; + + //check if folder needs to be created or integrated + var targetFolder = path.join(target, path.basename(source)); + if (!fs.existsSync(targetFolder)) { + fs.mkdirSync(targetFolder); + } + + //copy + if (fs.lstatSync(source).isDirectory()) { + files = fs.readdirSync(source); + files.forEach(function (file) { + var curSource = path.join(source, file); + if (fs.lstatSync(curSource).isDirectory()) { + copyFolderRecursiveSync(curSource, targetFolder); + } else { + copyFileSync(curSource, targetFolder); + } + }); + } +} diff --git a/config/webpack.config.js b/config/webpack.config.js index 6b0cd023291..3404715fe30 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -45,6 +45,7 @@ var config = { group: './group.js', groups: './groups/index.js', groups_list: './groups_list.js', + help: './help/help.js', how_to_merge: './how_to_merge.js', issue_show: './issue_show/index.js', integrations: './integrations', |