diff --git a/.eslintrc.js b/.eslintrc.js index d533dbce..7d69d0f0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,7 +1,7 @@ module.exports = { extends: [ - '@webank/eslint-config-webank/vue', + '@webank/eslint-config-webank/vue.js' ], globals: { // 这里填入你的项目需要的全局变量 @@ -11,13 +11,8 @@ module.exports = { }, rules: { 'vue/comment-directive': 'off', - 'no-param-reassign': 'off', - 'func-names': 'off', 'global-require': 'off', - 'class-methods-use-this': 'off', - 'no-restricted-syntax': 'off', - 'import/prefer-default-export': 'off', 'import/no-unresolved': 'off', - 'no-continue': 'off' + 'no-restricted-syntax': 'off' } }; diff --git a/package.json b/package.json index 8cd6ad24..9ea0e5a1 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@commitlint/cli": "^11.0.0", "@commitlint/config-conventional": "^11.0.0", - "@webank/eslint-config-webank": "^0.2.7", + "@webank/eslint-config-webank": "0.2.7", "commitizen": "^4.2.1", "cz-conventional-changelog": "^3.3.0", "father-build": "^1.18.5", @@ -40,7 +40,7 @@ "lint-staged": "^10.4.0" }, "lint-staged": { - "*.{js,fes,jsx,vue,ts}": [ + "*.{js,jsx,vue,ts}": [ "eslint --format=codeframe" ] }, diff --git a/packages/fes-core/src/service/index.js b/packages/fes-core/src/service/index.js index 49f7fd89..f3e12dd4 100644 --- a/packages/fes-core/src/service/index.js +++ b/packages/fes-core/src/service/index.js @@ -301,7 +301,7 @@ export default class Service extends EventEmitter { if (presets) { assert( Array.isArray(presets), - `presets returned from preset ${id} must be Array.`, + `presets returned from preset ${id} must be Array.` ); // 插到最前面,下个 while 循环优先执行 this._extraPresets.splice( @@ -311,7 +311,7 @@ export default class Service extends EventEmitter { type: PluginType.preset, path, cwd: this.cwd - })), + })) ); } @@ -326,14 +326,14 @@ export default class Service extends EventEmitter { if (plugins) { assert( Array.isArray(plugins), - `plugins returned from preset ${id} must be Array.`, + `plugins returned from preset ${id} must be Array.` ); this._extraPlugins.push( ...plugins.map(path => pathToObj({ type: PluginType.plugin, path, cwd: this.cwd - })), + })) ); } } diff --git a/packages/fes-plugin-layout/package.json b/packages/fes-plugin-layout/package.json index bdb34f5a..bc013651 100644 --- a/packages/fes-plugin-layout/package.json +++ b/packages/fes-plugin-layout/package.json @@ -14,7 +14,7 @@ "author": "", "license": "MIT", "peerDependencies": { - "vue": "^3.0.0", + "vue": "^3.0.4", "@webank/fes": "^2.0.0", "ant-design-vue": "2.0.0-rc.3" } diff --git a/packages/fes-preset-built-in/package.json b/packages/fes-preset-built-in/package.json index 7ffd3eef..7fb27eb5 100644 --- a/packages/fes-preset-built-in/package.json +++ b/packages/fes-preset-built-in/package.json @@ -24,18 +24,17 @@ "access": "public" }, "dependencies": { - "express": "4.17.1", - "@umijs/utils": "3.3.3", "@umijs/bundler-webpack": "3.3.3", "@umijs/server": "3.3.3", + "@umijs/utils": "3.3.3", "@vue/babel-plugin-jsx": "^1.0.0-rc.5", "@vue/compiler-sfc": "^3.0.4", "@vue/preload-webpack-plugin": "1.1.2", "@webank/fes-core": "^2.0.0", "cliui": "6.0.0", - "vue-loader": "^16.1.2", "html-webpack-plugin": "^3.2.0", "html-webpack-tags-plugin": "2.0.17", + "vue-loader": "^16.1.2", "webpack-bundle-analyzer": "4.3.0" } } diff --git a/packages/fes-preset-built-in/src/index.js b/packages/fes-preset-built-in/src/index.js index 6faace94..15c242d2 100644 --- a/packages/fes-preset-built-in/src/index.js +++ b/packages/fes-preset-built-in/src/index.js @@ -34,6 +34,7 @@ export default function () { require.resolve('./plugins/features/hash'), require.resolve('./plugins/features/html'), require.resolve('./plugins/features/inlineLimit'), + require.resolve('./plugins/features/imageMinimizer'), require.resolve('./plugins/features/lessLoader'), require.resolve('./plugins/features/mountElementId'), require.resolve('./plugins/features/nodeModulesTransform'), diff --git a/packages/fes-preset-built-in/src/plugins/features/devServer.js b/packages/fes-preset-built-in/src/plugins/features/devServer.js index 5b7fcb44..262c79b5 100644 --- a/packages/fes-preset-built-in/src/plugins/features/devServer.js +++ b/packages/fes-preset-built-in/src/plugins/features/devServer.js @@ -16,7 +16,7 @@ export default (api) => { cert: joi.string() }) .unknown(), - joi.boolean(), + joi.boolean() ), headers: joi.object(), writeToDisk: joi.alternatives(joi.boolean(), joi.function()) diff --git a/packages/fes-preset-built-in/src/plugins/features/html.js b/packages/fes-preset-built-in/src/plugins/features/html.js index f715f180..5dc7590e 100644 --- a/packages/fes-preset-built-in/src/plugins/features/html.js +++ b/packages/fes-preset-built-in/src/plugins/features/html.js @@ -7,7 +7,10 @@ export default (api) => { config: { schema(joi) { return joi - .object({}) + .object({ + options: joi.object(), + pages: joi.object() + }) .description( 'more html-webpack-plugin options see https://github.com/jantimon/html-webpack-plugin#configuration' ); @@ -20,15 +23,11 @@ export default (api) => { api.chainWebpack(async (webpackConfig) => { const isProd = api.env === 'production'; - const headScripts = await api.applyPlugins({ - key: 'addHTMLHeadScripts', - initialState: [] - }); const htmlOptions = { templateParameters: (compilation, assets, pluginOptions) => { // enhance html-webpack-plugin's built in template params let stats; - return Object.assign({ + return { // make stats lazy as it is expensive get webpack() { // eslint-disable-next-line @@ -40,8 +39,9 @@ export default (api) => { files: assets, options: pluginOptions } - }, api.config.html.options); - } + }; + }, + ...api.config.html.options }; @@ -104,6 +104,11 @@ export default (api) => { } if (!isProd) { + const headScripts = await api.applyPlugins({ + key: 'addHTMLHeadScripts', + type: api.ApplyPluginsType.add, + initialState: [] + }); webpackConfig .plugin('html-tags') .use(HtmlWebpackTagsPlugin, [{ diff --git a/packages/fes-preset-built-in/src/plugins/features/imageMinimizer.js b/packages/fes-preset-built-in/src/plugins/features/imageMinimizer.js new file mode 100644 index 00000000..4aaae365 --- /dev/null +++ b/packages/fes-preset-built-in/src/plugins/features/imageMinimizer.js @@ -0,0 +1,23 @@ +// import ImageMinimizerPlugin from 'image-minimizer-webpack-plugin'; + +export default (api) => { + api.describe({ + key: 'imageMinimizer', + config: { + schema(joi) { + return joi.object(); + }, + default: { + disable: true + } + } + }); + + api.chainWebpack((webpackConfig) => { + if (!api.config.imageMinimizer.disable && api.env === 'production') { + // TODO 图片压缩 + } + + return webpackConfig; + }); +}; diff --git a/packages/fes-preset-built-in/src/plugins/generateFiles/fes/fes.tpl b/packages/fes-preset-built-in/src/plugins/generateFiles/fes/fes.tpl index 76e42e26..05f7c849 100644 --- a/packages/fes-preset-built-in/src/plugins/generateFiles/fes/fes.tpl +++ b/packages/fes-preset-built-in/src/plugins/generateFiles/fes/fes.tpl @@ -67,8 +67,8 @@ const beforeRenderConfig = plugin.applyPlugins({ key: "beforeRender", type: ApplyPluginsType.modify, initialValue: { - loading: defineComponent(() => () => <>), - action: () => {}, + loading: null, + action: null }, }); diff --git a/packages/fes-runtime/package.json b/packages/fes-runtime/package.json index d4080b60..d4f17eba 100644 --- a/packages/fes-runtime/package.json +++ b/packages/fes-runtime/package.json @@ -20,7 +20,7 @@ "access": "public" }, "peerDependencies": { - "vue": "^3.0.0" + "vue": "^3.0.4" }, "dependencies": { "vue-router": "^4.0.1" diff --git a/packages/fes-template-h5/.fes.js b/packages/fes-template-h5/.fes.js index 3afe65a6..30d8f23d 100644 --- a/packages/fes-template-h5/.fes.js +++ b/packages/fes-template-h5/.fes.js @@ -1,17 +1,33 @@ // fes.config.js 只负责管理 cli 相关的配置 +import pxtoviewport from 'postcss-px-to-viewport'; export default { - access: { - roles: { - admin: ["/"] + html: { + options: { + title: '海贼王' } }, - layout: { - menus: [{ - path: '/' - }] + imageMinimizer: { + disable: false }, + extraPostCSSPlugins: [ + pxtoviewport({ + unitToConvert: 'px', + viewportWidth: 375, + unitPrecision: 5, + propList: ['*'], + viewportUnit: 'vw', + fontViewportUnit: 'vw', + selectorBlackList: [], + minPixelValue: 1, + mediaQuery: false, + replace: true, + exclude: [], + landscape: false, + landscapeUnit: 'vw' + }) + ], devServer: { port: 8080 } diff --git a/packages/fes-template-h5/package.json b/packages/fes-template-h5/package.json index d4bcee90..16594710 100644 --- a/packages/fes-template-h5/package.json +++ b/packages/fes-template-h5/package.json @@ -29,12 +29,11 @@ "license": "MIT", "devDependencies": { "@vue/compiler-sfc": "^3.0.0", - "@webank/eslint-config-webank": "^0.1.4" + "@webank/eslint-config-webank": "0.2.7", + "postcss-px-to-viewport": "1.1.1" }, "dependencies": { - "vue": "^3.0.2", - "@webank/fes": "^2.0.0", - "@webank/fes-plugin-access": "^1.0.0", - "@webank/fes-plugin-model": "^1.0.0" + "vue": "^3.0.4", + "@webank/fes": "^2.0.0" } } diff --git a/packages/fes-template-h5/public/index.html b/packages/fes-template-h5/public/index.html index 702130b0..7959977e 100644 --- a/packages/fes-template-h5/public/index.html +++ b/packages/fes-template-h5/public/index.html @@ -7,11 +7,10 @@ - - + <%= htmlWebpackPlugin.options.title %> - +
diff --git a/packages/fes-template-h5/src/app.js b/packages/fes-template-h5/src/app.js index 70e65954..e69de29b 100644 --- a/packages/fes-template-h5/src/app.js +++ b/packages/fes-template-h5/src/app.js @@ -1,19 +0,0 @@ -import { access } from '@webank/fes'; -import PageLoading from '@/components/PageLoading.vue'; - - -export const beforeRender = { - loading: , - action() { - const { setRole } = access; - return new Promise((resolve) => { - setTimeout(() => { - setRole('admin'); - resolve({ - a: 1, - b: 2 - }); - }, 3000); - }); - } -}; diff --git a/packages/fes-template-h5/src/components/Icon/Icon.vue b/packages/fes-template-h5/src/components/Icon/Icon.vue new file mode 100644 index 00000000..edce5d17 --- /dev/null +++ b/packages/fes-template-h5/src/components/Icon/Icon.vue @@ -0,0 +1,50 @@ + + + diff --git a/packages/fes-template-h5/src/components/Icon/IconBase.js b/packages/fes-template-h5/src/components/Icon/IconBase.js new file mode 100644 index 00000000..8ee7d187 --- /dev/null +++ b/packages/fes-template-h5/src/components/Icon/IconBase.js @@ -0,0 +1,36 @@ +import { generate } from './util'; + +const IconBase = { + functional: true, + props: ['icon'], + render(h, ctx) { + const { + data: { attrs, ...restData } = {}, + props = {}, + listeners + } = ctx; + const { icon, ...restProps } = { + ...attrs, + ...props + }; + if (!icon) return null; + const target = icon; + + return generate(h, target.icon, `svg-${target.name}`, { + ...restData, + attrs: { + 'data-icon': target.name, + width: '1em', + height: '1em', + fill: 'currentColor', + 'aria-hidden': 'true', + ...restProps + }, + on: listeners + }); + } +}; + +IconBase.name = 'IconBase'; + +export default IconBase; diff --git a/packages/fes-template-h5/src/components/Icon/icon.less b/packages/fes-template-h5/src/components/Icon/icon.less new file mode 100644 index 00000000..260abebd --- /dev/null +++ b/packages/fes-template-h5/src/components/Icon/icon.less @@ -0,0 +1,49 @@ +@import "~@/styles/theme.less"; + +.inner-icon { + display: inline-block; + color: @icon-color; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + outline: none; + vertical-align: -0.125em; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + > * { + line-height: 1; + } + + svg { + display: inline-block; + } + + &::before { + display: none; // dont display old icon. + } + + &[tabindex] { + cursor: pointer; + } + &--spin { + display: inline-block; + animation: loadingCircle 1s infinite linear; + } + + @-webkit-keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + } + @keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + } + +} diff --git a/packages/fes-template-h5/src/components/Icon/icons.js b/packages/fes-template-h5/src/components/Icon/icons.js new file mode 100644 index 00000000..b69602e4 --- /dev/null +++ b/packages/fes-template-h5/src/components/Icon/icons.js @@ -0,0 +1,8 @@ +/* Automatically generated by './build/bin/gen-icons.js' */ + +import smile from './icons/smile.svg'; + + +export default { + smile +}; diff --git a/packages/fes-template-h5/src/components/Icon/icons/smile.svg b/packages/fes-template-h5/src/components/Icon/icons/smile.svg new file mode 100644 index 00000000..a382e266 --- /dev/null +++ b/packages/fes-template-h5/src/components/Icon/icons/smile.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/fes-template-h5/src/components/Icon/index.js b/packages/fes-template-h5/src/components/Icon/index.js new file mode 100644 index 00000000..19c6e338 --- /dev/null +++ b/packages/fes-template-h5/src/components/Icon/index.js @@ -0,0 +1,4 @@ +import Icon from './Icon'; +import './icon.less'; + +export default Icon; diff --git a/packages/fes-template-h5/src/components/Icon/util.js b/packages/fes-template-h5/src/components/Icon/util.js new file mode 100644 index 00000000..f57f95bd --- /dev/null +++ b/packages/fes-template-h5/src/components/Icon/util.js @@ -0,0 +1,33 @@ +export function normalizeAttrs(attrs = {}) { + return Object.keys(attrs).reduce((acc, key) => { + const val = attrs[key]; + switch (key) { + case 'class': + acc.className = val; + delete acc.class; + break; + default: + acc[key] = val; + } + return acc; + }, {}); +} + +export function generate(h, node, key, rootProps) { + if (!rootProps) { + return h( + node.tag, + { key, attrs: { ...normalizeAttrs(node.attrs) } }, + (node.children || []).map((child, index) => generate(h, child, `${key}-${node.tag}-${index}`)) + ); + } + return h( + node.tag, + { + key, + ...rootProps, + attrs: { ...normalizeAttrs(node.attrs), ...rootProps.attrs } + }, + (node.children || []).map((child, index) => generate(h, child, `${key}-${node.tag}-${index}`)) + ); +} diff --git a/packages/fes-template-h5/src/images/male.png b/packages/fes-template-h5/src/images/male.png new file mode 100644 index 00000000..6b275499 Binary files /dev/null and b/packages/fes-template-h5/src/images/male.png differ diff --git a/packages/fes-template-h5/src/pages/index.vue b/packages/fes-template-h5/src/pages/index.vue index 418cdbd3..59343bbf 100644 --- a/packages/fes-template-h5/src/pages/index.vue +++ b/packages/fes-template-h5/src/pages/index.vue @@ -1,7 +1,7 @@ @@ -12,17 +12,15 @@ + + diff --git a/packages/fes-template-h5/src/styles/common.less b/packages/fes-template-h5/src/styles/common.less new file mode 100644 index 00000000..fe0e8573 --- /dev/null +++ b/packages/fes-template-h5/src/styles/common.less @@ -0,0 +1,22 @@ +a, +img { + -webkit-touch-callout: none; +} + +body { + background-color: #f7f7f7; +} + +input { + line-height: normal; + border: none; +} + +a { + color: #0af; + text-decoration: none; +} + +* { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} diff --git a/packages/fes-template-h5/src/styles/mixins/hairline.less b/packages/fes-template-h5/src/styles/mixins/hairline.less new file mode 100644 index 00000000..f0bb934d --- /dev/null +++ b/packages/fes-template-h5/src/styles/mixins/hairline.less @@ -0,0 +1,169 @@ +@import "../theme"; + +.scale-hairline-common(@color, @top, @right, @bottom, @left) { + content: ''; + position: absolute; + background-color: @color; + display: block; + z-index: 1; + top: @top; + right: @right; + bottom: @bottom; + left: @left; +} + +.hairline(@direction, @color: @border-color-base) when (@direction ='top') { + border-top: 1PX solid @color; + + html:not([data-scale]) & { + @media (min-resolution: 2dppx) { + border-top: none; + + &::before { + .scale-hairline-common(@color, 0, auto, auto, 0); + width: 100%; + height: 1PX; + transform-origin: 50% 50%; + transform: scaleY(0.5); + + @media (min-resolution: 3dppx) { + transform: scaleY(0.33); + } + } + } + } +} + +.hairline(@direction, @color: @border-color-base) when (@direction ='right') { + border-right: 1PX solid @color; + + html:not([data-scale]) & { + @media (min-resolution: 2dppx) { + border-right: none; + + &::after { + .scale-hairline-common(@color, 0, 0, auto, auto); + width: 1PX; + height: 100%; + background: @color; + transform-origin: 100% 50%; + transform: scaleX(0.5); + + @media (min-resolution: 3dppx) { + transform: scaleX(0.33); + } + } + } + } +} + +.hairline(@direction, @color: @border-color-base) when (@direction ='bottom') { + border-bottom: 1PX solid @color; + + html:not([data-scale]) & { + @media (min-resolution: 2dppx) { + border-bottom: none; + + &::after { + .scale-hairline-common(@color, auto, auto, 0, 0); + width: 100%; + height: 1PX; + transform-origin: 50% 100%; + transform: scaleY(0.5); + + @media (min-resolution: 3dppx) { + transform: scaleY(0.33); + } + } + } + } +} + +.hairline(@direction, @color: @border-color-base) when (@direction ='left') { + border-left: 1PX solid @color; + + html:not([data-scale]) & { + @media (min-resolution: 2dppx) { + border-left: none; + + &::before { + .scale-hairline-common(@color, 0, auto, auto, 0); + width: 1PX; + height: 100%; + transform-origin: 100% 50%; + transform: scaleX(0.5); + + @media (min-resolution: 3dppx) { + transform: scaleX(0.33); + } + } + } + } +} + +.hairline(@direction, @color: @border-color-base, @radius: 0) when (@direction ='all') { + border: 1PX solid @color; + border-radius: @radius; + + html:not([data-scale]) & { + @media (min-resolution: 2dppx) { + position: relative; + border: none; + + &::before { + content: ''; + position: absolute; + left: 0; + top: 0; + width: 200%; + height: 200%; + border: 1PX solid @color; + border-radius: @radius * 2; + transform-origin: 0 0; + transform: scale(0.5); + box-sizing: border-box; + pointer-events: none; + } + } + } +} + +.hairline-remove(@position) when (@position ='left') { + border-left: 0; + + &:before { + display: none !important; + } +} + +.hairline-remove(@position) when (@position ='right') { + border-right: 0; + + &:after { + display: none !important; + } +} + +.hairline-remove(@position) when (@position ='top') { + border-top: 0; + + &:before { + display: none !important; + } +} + +.hairline-remove(@position) when (@position ='bottom') { + border-bottom: 0; + + &:after { + display: none !important; + } +} + +.hairline-remove(@position) when (@position ='all') { + border: 0; + + &:before { + display: none !important; + } +} diff --git a/packages/fes-template-h5/src/styles/mixins/hover.less b/packages/fes-template-h5/src/styles/mixins/hover.less new file mode 100644 index 00000000..79b33664 --- /dev/null +++ b/packages/fes-template-h5/src/styles/mixins/hover.less @@ -0,0 +1,6 @@ + +.hover() { + &:active { + box-shadow: inset 0 0 1000px rgba(0, 0, 0, .5); + } +} \ No newline at end of file diff --git a/packages/fes-template-h5/src/styles/reset.less b/packages/fes-template-h5/src/styles/reset.less new file mode 100644 index 00000000..a02d2861 --- /dev/null +++ b/packages/fes-template-h5/src/styles/reset.less @@ -0,0 +1,142 @@ +@charset "UTF-8"; + +// 所有元素为border-box +* { + box-sizing: border-box; +} + +html { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body, +h1, +h2, +h3, +h4, +h5, +h6, +ul, +ol, +li, +dl, +dd, +p, +form, +th, +td, +fieldset, +legend, +blockquote, +button, +input, +select, +textarea { + margin: 0; + padding: 0; +} + +body, +button, +input, +select, +textarea { + font: 14*@PX/1.5 tahoma, arial, "Hiragino Sans GB", "Microsoft YaHei"; +} + + +body { + color: @txt-color; + background-color: @bg-color; + font-size: 14px; + word-wrap: break-word; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: 100%; + font-weight: normal; +} + +ol, +ul { + list-style: none; +} + +img { + border: 0; + vertical-align: middle; +} + +address, +cite, +dfn, +em, +i, +var { + font-style: normal; +} + +a { + text-decoration: none; + cursor: pointer; +} + +a:hover { + text-decoration: none; +} + +a:focus { + outline: none; +} + +table { + border-spacing: 0; + word-wrap: break-word; + border-collapse: separate; +} + +input, +select, +button { + outline: none; + vertical-align: middle; +} + +input[type='search']::-webkit-search-decoration, +input[type='search']::-webkit-search-cancel-button, +input[type='search']::-webkit-search-results-button, +input[type='search']::-webkit-search-results-decoration { + display: none; +} + +input::-ms-clear { + display: none; +} + +select::-ms-expand { + display: none; +} + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + font-family: inherit; + outline-offset: 0; + outline-style: none; + outline-width: 0; + background-image: none; +} + +input[readonly], +textarea[readonly] { + background-color: #F1F1F1; +} diff --git a/packages/fes-template-h5/src/styles/theme.less b/packages/fes-template-h5/src/styles/theme.less new file mode 100644 index 00000000..3591eb88 --- /dev/null +++ b/packages/fes-template-h5/src/styles/theme.less @@ -0,0 +1,20 @@ +@charset "UTF-8"; + +@PX: 1px; +@rem: 0.01rem; +@a-hover: #eeeeee; + +//大背景色 +//----------------------------------------------------- +@bg-color: #ffffff; + +// 边框色 +@border-color-base: #ddd; + + +//文字颜色 +//----------------------------------------------------- +@txt-color: #666666; + +// icon 颜色 +@icon-color: inherit; \ No newline at end of file diff --git a/packages/fes-template/.fes.prod.js b/packages/fes-template/.fes.prod.js new file mode 100644 index 00000000..153393d8 --- /dev/null +++ b/packages/fes-template/.fes.prod.js @@ -0,0 +1,6 @@ +// .fes.js 只负责管理编译时配置,只能使用plain Object + + +export default { + publicPath: 'https://gw.alipayobjects.com/' +}; diff --git a/packages/fes-template/package.json b/packages/fes-template/package.json index 063820ae..090b1038 100644 --- a/packages/fes-template/package.json +++ b/packages/fes-template/package.json @@ -4,6 +4,7 @@ "description": "fes项目模版", "scripts": { "build": "fes build", + "prod": "FES_ENV=prod fes build", "analyze": "ANALYZE=1 fes build", "dev": "fes dev" }, @@ -30,10 +31,10 @@ "license": "MIT", "devDependencies": { "@vue/compiler-sfc": "^3.0.0", - "@webank/eslint-config-webank": "^0.1.4" + "@webank/eslint-config-webank": "0.2.7" }, "dependencies": { - "vue": "^3.0.2", + "vue": "3.0.4", "@webank/fes": "^2.0.0", "@webank/fes-plugin-access": "^1.0.0", "@webank/fes-plugin-model": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index 0bbadc1d..4c05634e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3428,13 +3428,6 @@ resolved "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab" integrity sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ== -"@vue/reactivity@3.0.2": - version "3.0.2" - resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.2.tgz#42ed5af6025b494a5e69b05169fcddf04eebfe77" - integrity sha512-GdRloNcBar4yqWGXOcba1t//j/WizwfthfPUYkjcIPHjYnA/vTEQYp0C9+ZjPdinv1WRK1BSMeN/xj31kQES4A== - dependencies: - "@vue/shared" "3.0.2" - "@vue/reactivity@3.0.4": version "3.0.4" resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.0.4.tgz#b6599dd8271a745960a03f05744ccf7991ba5d8d" @@ -3442,14 +3435,6 @@ dependencies: "@vue/shared" "3.0.4" -"@vue/runtime-core@3.0.2": - version "3.0.2" - resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.2.tgz#d7ed462af1cb0bf9836668e4e6fab3f2f4b1bc00" - integrity sha512-3m/jOs2xSipEFah9FgpEzvC9nERFonVGLN06+pf8iYPIy54Nlv7D2cyrk3Lhbjz4w3PbIrkxJnoTJYvJM7HDfA== - dependencies: - "@vue/reactivity" "3.0.2" - "@vue/shared" "3.0.2" - "@vue/runtime-core@3.0.4": version "3.0.4" resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.0.4.tgz#a5b9a001560b1fd8c01a43f68b764c555de7836c" @@ -3458,15 +3443,6 @@ "@vue/reactivity" "3.0.4" "@vue/shared" "3.0.4" -"@vue/runtime-dom@3.0.2": - version "3.0.2" - resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.2.tgz#9d166d03225558025d3d80f5039b646e0051b71c" - integrity sha512-vqC1KK1yWthTw1FKzajT0gYQaEqAq7bpeeXQC473nllGC5YHbJhNAJLSmrDun1tjXqGF0UNCWYljYm+++BJv6w== - dependencies: - "@vue/runtime-core" "3.0.2" - "@vue/shared" "3.0.2" - csstype "^2.6.8" - "@vue/runtime-dom@3.0.4": version "3.0.4" resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.0.4.tgz#6f81aec545f24511d2c28a315aa3391420b69c68" @@ -3486,19 +3462,7 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.4.tgz#6dc50f593bdfdeaa6183d1dbc15e2d45e7c6b8b3" integrity sha512-Swfbz31AaMX48CpFl+YmIrqOH9MgJMTrltG9e26A4ZxYx9LjGuMV+41WnxFzS3Bc9nbrc6sDPM37G6nIT8NJSg== -"@webank/eslint-config-webank@^0.1.4": - version "0.1.7" - resolved "https://registry.npmjs.org/@webank/eslint-config-webank/-/eslint-config-webank-0.1.7.tgz#6655b1fe344b8fa2115ab8656a75692a86712704" - integrity sha512-eeGhydTU8VtOwUASf/4Q/OSVm6ijgn/Xd+7z1Fv7RylJMAM2PqbkAjpkb3nkLRVPHOg/BKY1NAw+0GmP36ISiA== - dependencies: - babel-eslint "^10.0.2" - eslint "^5.3.0" - eslint-config-airbnb-base "^13.2.0" - eslint-plugin-import "^2.18.2" - eslint-plugin-vue "^5.2.3" - vue-eslint-parser "^6.0.4" - -"@webank/eslint-config-webank@^0.2.7": +"@webank/eslint-config-webank@0.2.7": version "0.2.7" resolved "https://registry.npmjs.org/@webank/eslint-config-webank/-/eslint-config-webank-0.2.7.tgz#b98efce44e1d799bd01e20a3371006fa8ecc5eae" integrity sha512-yNMGEJuJ3D87excdD9xI8UxPVtqnfa5qle4TJt1DcXQwav5ssEb4cjjnvbIWK78SuENZvbN7KvPmS+UaYfujxQ== @@ -3804,7 +3768,7 @@ ajv@6.10.0: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -4168,11 +4132,6 @@ assign-symbols@^1.0.0: resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -4851,7 +4810,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -5385,7 +5344,7 @@ configstore@^4.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -confusing-browser-globals@^1.0.10, confusing-browser-globals@^1.0.5: +confusing-browser-globals@^1.0.10: version "1.0.10" resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== @@ -5680,7 +5639,7 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -6066,7 +6025,7 @@ deep-extend@^0.6.0: resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.3" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= @@ -6595,15 +6554,6 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-config-airbnb-base@^13.2.0: - version "13.2.0" - resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz#f6ea81459ff4dec2dda200c35f1d8f7419d57943" - integrity sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w== - dependencies: - confusing-browser-globals "^1.0.5" - object.assign "^4.1.0" - object.entries "^1.1.0" - eslint-import-resolver-node@^0.3.4: version "0.3.4" resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" @@ -6694,13 +6644,6 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^1.3.1: - version "1.4.3" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -6718,48 +6661,6 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^5.3.0: - version "5.16.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" - integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.9.1" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^4.0.3" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^5.0.1" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^6.2.2" - js-yaml "^3.13.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.11" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" - table "^5.2.3" - text-table "^0.2.0" - eslint@^7.15.0: version "7.16.0" resolved "https://registry.npmjs.org/eslint/-/eslint-7.16.0.tgz#a761605bf9a7b32d24bb7cde59aeb0fd76f06092" @@ -6812,7 +6713,7 @@ espree@^4.1.0: acorn-jsx "^5.0.0" eslint-visitor-keys "^1.0.0" -espree@^5.0.0, espree@^5.0.1: +espree@^5.0.0: version "5.0.1" resolved "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== @@ -7130,7 +7031,7 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -7230,13 +7131,6 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - file-entry-cache@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" @@ -7380,15 +7274,6 @@ findup-sync@^3.0.0: micromatch "^3.0.4" resolve-dir "^1.0.1" -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -7397,11 +7282,6 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - flatted@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" @@ -7807,7 +7687,7 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.6, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: +glob@7.1.6, glob@^7.0.5, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: version "7.1.6" resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -7846,7 +7726,7 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -globals@^11.1.0, globals@^11.7.0: +globals@^11.1.0: version "11.12.0" resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== @@ -8519,7 +8399,7 @@ init-package-json@^1.10.3: validate-npm-package-license "^3.0.1" validate-npm-package-name "^3.0.0" -inquirer@6.5.2, inquirer@^6.2.0, inquirer@^6.2.2: +inquirer@6.5.2, inquirer@^6.2.0: version "6.5.2" resolved "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== @@ -9057,7 +8937,7 @@ js-levenshtein@^1.1.3: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.0, js-yaml@^3.13.1: +js-yaml@^3.13.1: version "3.14.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== @@ -9343,14 +9223,6 @@ levdist@^1.0.0: resolved "https://registry.npmjs.org/levdist/-/levdist-1.0.0.tgz#91d7a3044964f2ccc421a0477cac827fe75c5718" integrity sha1-kdejBElk8szEIaBHfKyCf+dcVxg= -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - levn@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -10270,6 +10142,11 @@ nan@^2.12.1: resolved "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== +nanoid@^3.1.20: + version "3.1.20" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -10568,7 +10445,7 @@ oauth-sign@~0.9.0: resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@4.x, object-assign@>=4.0.1, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -10709,18 +10586,6 @@ optimize-css-assets-webpack-plugin@5.0.4: cssnano "^4.1.10" last-call-webpack-plugin "^3.0.0" -optionator@^0.8.2: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -11070,7 +10935,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= @@ -11832,6 +11697,14 @@ postcss-pseudo-class-any-link@^6.0.0: postcss "^7.0.2" postcss-selector-parser "^5.0.0-rc.3" +postcss-px-to-viewport@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/postcss-px-to-viewport/-/postcss-px-to-viewport-1.1.1.tgz#a25ca410b553c9892cc8b525cc710da47bf1aa55" + integrity sha512-2x9oGnBms+e0cYtBJOZdlwrFg/mLR4P1g2IFu7jYKvnqnH/HLhoKyareW2Q/x4sg0BgklHlP1qeWo2oCyPm8FQ== + dependencies: + object-assign ">=4.0.1" + postcss ">=5.0.2" + postcss-reduce-initial@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" @@ -11966,6 +11839,15 @@ postcss@7.0.32: source-map "^0.6.1" supports-color "^6.1.0" +postcss@>=5.0.2: + version "8.2.1" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz#eabc5557c4558059b9d9e5b15bce7ffa9089c2a8" + integrity sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA== + dependencies: + colorette "^1.2.1" + nanoid "^3.1.20" + source-map "^0.6.1" + postcss@^6.0.1: version "6.0.23" resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" @@ -11989,11 +11871,6 @@ prelude-ls@^1.2.1: resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -12505,11 +12382,6 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" @@ -13277,15 +13149,6 @@ slash@^3.0.0: resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -13797,16 +13660,16 @@ strip-json-comments@3.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== -strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + strong-log-transformer@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -13908,16 +13771,6 @@ svgo@^1.0.0, svgo@^1.2.2: unquote "~1.1.1" util.promisify "~1.0.0" -table@^5.2.3: - version "5.4.6" - resolved "https://registry.npmjs.org/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - table@^6.0.4: version "6.0.4" resolved "https://registry.npmjs.org/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" @@ -14316,13 +14169,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - type-fest@^0.11.0: version "0.11.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" @@ -14820,7 +14666,7 @@ vue-types@^3.0.0: dependencies: is-plain-object "3.0.1" -vue@^3.0.0: +vue@3.0.4, vue@^3.0.0, vue@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/vue/-/vue-3.0.4.tgz#872c65c143f5717bd5387c61613d9f55f4cc0f43" integrity sha512-2o+AiQF8sAupyhbyl3oxVCl3WCwC/n5NI7VMM+gVQ231qvSB8eI7sCBloloqDJK6yA367EEtmRSeSCf4sxCC+A== @@ -14829,15 +14675,6 @@ vue@^3.0.0: "@vue/runtime-dom" "3.0.4" "@vue/shared" "3.0.4" -vue@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/vue/-/vue-3.0.2.tgz#9d5b7b2983f35e64a34d13c7c9d6831239feca3c" - integrity sha512-ciKFjutKRs+2Vbvgrist1oDd5wZQqtOel/K//ku54zLbf8tcTV+XbyAfanTHcTkML9CUj09vnC+y+5uaOz2/9g== - dependencies: - "@vue/compiler-dom" "3.0.2" - "@vue/runtime-dom" "3.0.2" - "@vue/shared" "3.0.2" - warning@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" @@ -15063,7 +14900,7 @@ windows-release@^3.1.0: dependencies: execa "^1.0.0" -word-wrap@^1.0.3, word-wrap@^1.2.3, word-wrap@~1.2.3: +word-wrap@^1.0.3, word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== @@ -15158,13 +14995,6 @@ write-pkg@^3.1.0: sort-keys "^2.0.0" write-json-file "^2.2.0" -write@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - ws@^7.3.1: version "7.4.1" resolved "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz#a333be02696bd0e54cea0434e21dcc8a9ac294bb"