From f29f49a17d9b37bc678886c14c51bbe2a68250d1 Mon Sep 17 00:00:00 2001 From: iamkun Date: Fri, 9 Aug 2019 17:53:49 +0800 Subject: [PATCH] Chore: Theme Extension (#16686) --- .eslintrc | 3 +- build/webpack.extension.js | 33 +++ .../editor/borderRadius.vue | 2 +- .../theme-configurator/editor/boxShadow.vue | 2 +- .../theme-configurator/editor/color.vue | 2 +- .../editor/fontLineHeight.vue | 2 +- .../theme-configurator/editor/fontSize.vue | 2 +- .../theme-configurator/editor/fontWeight.vue | 2 +- .../theme-configurator/editor/simpleText.vue | 2 +- .../components/theme-configurator/index.vue | 2 +- .../components/theme-configurator/main.vue | 4 +- examples/components/theme/theme-card.vue | 7 +- examples/extension/.gitignore | 1 + examples/extension/src/app.js | 18 ++ examples/extension/src/background.js | 6 + examples/extension/src/editor/editor.vue | 212 ++++++++++++++++++ examples/extension/src/editor/gallery.vue | 185 +++++++++++++++ examples/extension/src/editor/icon-close.png | Bin 0 -> 3170 bytes .../extension/src/editor/icon-entrance.png | Bin 0 -> 6383 bytes examples/extension/src/editor/index.vue | 13 ++ examples/extension/src/editor/utils.js | 18 ++ examples/extension/src/entry.js | 7 + examples/extension/src/icon.png | Bin 0 -> 16873 bytes examples/extension/src/manifest.json | 27 +++ package.json | 2 + 25 files changed, 540 insertions(+), 12 deletions(-) create mode 100644 build/webpack.extension.js create mode 100644 examples/extension/.gitignore create mode 100644 examples/extension/src/app.js create mode 100644 examples/extension/src/background.js create mode 100644 examples/extension/src/editor/editor.vue create mode 100644 examples/extension/src/editor/gallery.vue create mode 100644 examples/extension/src/editor/icon-close.png create mode 100644 examples/extension/src/editor/icon-entrance.png create mode 100644 examples/extension/src/editor/index.vue create mode 100644 examples/extension/src/editor/utils.js create mode 100644 examples/extension/src/entry.js create mode 100644 examples/extension/src/icon.png create mode 100644 examples/extension/src/manifest.json diff --git a/.eslintrc b/.eslintrc index 71aefcfa96e..ad4aa56f7fb 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,6 +1,7 @@ { "globals": { - "ga": true + "ga": true, + "chrome": true }, "plugins": ["html", "json"], "extends": "elemefe", diff --git a/build/webpack.extension.js b/build/webpack.extension.js new file mode 100644 index 00000000000..2f8752c5956 --- /dev/null +++ b/build/webpack.extension.js @@ -0,0 +1,33 @@ +const path = require('path'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); +const demoConfig = require('./webpack.demo'); +const webpack = require('webpack'); +const ProgressBarPlugin = require('progress-bar-webpack-plugin'); +const VueLoaderPlugin = require('vue-loader/lib/plugin'); + +demoConfig.entry = { + background: path.join(process.cwd(), './examples/extension/src/background'), + entry: path.join(process.cwd(), './examples/extension/src/entry') +}; +demoConfig.output = { + path: path.join(process.cwd(), './examples/extension/dist'), + filename: '[name].js' +}; +demoConfig.plugins = [ + new CopyWebpackPlugin([ + { from: 'examples/extension/src/manifest.json' }, + { from: 'examples/extension/src/icon.png' } + ]), + new VueLoaderPlugin(), + new ProgressBarPlugin(), + new webpack.LoaderOptionsPlugin({ + vue: { + compilerOptions: { + preserveWhitespace: false + } + } + }), + new webpack.HotModuleReplacementPlugin() +]; +demoConfig.module.rules.find(a => a.loader === 'url-loader').query = {}; +module.exports = demoConfig; diff --git a/examples/components/theme-configurator/editor/borderRadius.vue b/examples/components/theme-configurator/editor/borderRadius.vue index e266dc8cc3c..8ee85f267ac 100644 --- a/examples/components/theme-configurator/editor/borderRadius.vue +++ b/examples/components/theme-configurator/editor/borderRadius.vue @@ -1,7 +1,7 @@