chore: local-nodemodules
This commit is contained in:
parent
e54bd8af41
commit
e091c2539f
21
local-nodemodules/@gt4/common-front/README.md
Normal file
21
local-nodemodules/@gt4/common-front/README.md
Normal file
@ -0,0 +1,21 @@
|
||||
# @gt4/common
|
||||
|
||||
## 安装
|
||||
|
||||
pnpm i
|
||||
|
||||
## 启动
|
||||
|
||||
pnpm dev
|
||||
|
||||
## 编译
|
||||
|
||||
pnpm build
|
||||
|
||||
## 文档打包
|
||||
|
||||
pnpm build:site
|
||||
|
||||
## 部署
|
||||
|
||||
pnpm release
|
||||
154
local-nodemodules/@gt4/common-front/package.json
Normal file
154
local-nodemodules/@gt4/common-front/package.json
Normal file
@ -0,0 +1,154 @@
|
||||
{
|
||||
"name": "@gt4/common-front",
|
||||
"version": "2.0.113",
|
||||
"main": "dist/index.js",
|
||||
"author": "three musketeers",
|
||||
"description": "gt4 common sdk",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.19.0",
|
||||
"@babel/eslint-parser": "7.18.9",
|
||||
"@babel/plugin-proposal-class-properties": "7.18.6",
|
||||
"@babel/plugin-syntax-jsx": "7.18.6",
|
||||
"@babel/plugin-transform-runtime": "7.18.10",
|
||||
"@babel/preset-env": "7.19.0",
|
||||
"@babel/preset-react": "7.18.6",
|
||||
"@babel/preset-typescript": "7.18.6",
|
||||
"@babel/runtime": "7.19.0",
|
||||
"@changesets/cli": "2.24.4",
|
||||
"@commitlint/cli": "12.1.4",
|
||||
"@commitlint/config-conventional": "12.1.4",
|
||||
"@fortawesome/fontawesome-svg-core": "6.2.0",
|
||||
"@fortawesome/free-solid-svg-icons": "6.2.0",
|
||||
"@fortawesome/react-fontawesome": "0.2.0",
|
||||
"@gtff/tdesign-gt-vue": "1.4.5",
|
||||
"@ianvs/prettier-plugin-sort-imports": "3.4.2",
|
||||
"@rollup/plugin-babel": "5.1.0",
|
||||
"@rollup/plugin-commonjs": "18.0.0",
|
||||
"@rollup/plugin-json": "4.1.0",
|
||||
"@rollup/plugin-node-resolve": "11.2.1",
|
||||
"@rollup/plugin-replace": "2.4.2",
|
||||
"@rollup/plugin-strip": "2.1.0",
|
||||
"@rollup/plugin-url": "5.0.1",
|
||||
"@seanix/cz-emoji-lerna-changelog": "1.0.3",
|
||||
"@sy/vitest-ui": "0.0.1",
|
||||
"@types/node": "18.7.13",
|
||||
"@vitejs/plugin-vue-jsx": "3.0.1",
|
||||
"@vitest/coverage-c8": "0.30.1",
|
||||
"@vue/babel-helper-vue-jsx-merge-props": "1.4.0",
|
||||
"@vue/babel-preset-jsx": "1.4.0",
|
||||
"@vue/test-utils": "1.3.0",
|
||||
"@wecity/tdesign-vue-ie": "1.4.5",
|
||||
"axios": "0.27.2",
|
||||
"babel-loader": "8.2.5",
|
||||
"classnames": "2.3.1",
|
||||
"commitizen": "4.2.5",
|
||||
"cross-env": "7.0.3",
|
||||
"css-loader": "5.2.7",
|
||||
"css-properties-sorting": "1.0.10",
|
||||
"esbuild": "0.15.5",
|
||||
"eslint": "8.23.0",
|
||||
"eslint-config-airbnb-base": "15.0.0",
|
||||
"eslint-config-prettier": "8.5.0",
|
||||
"eslint-plugin-import": "2.26.0",
|
||||
"eslint-plugin-prettier": "4.2.1",
|
||||
"eslint-plugin-vue": "9.4.0",
|
||||
"husky": "8.0.1",
|
||||
"inquirer": "8.2.4",
|
||||
"jsdom": "^22.0.0",
|
||||
"less": "4.1.3",
|
||||
"less-loader": "11.0.0",
|
||||
"lint-staged": "10.5.4",
|
||||
"lodash-es": "4.17.21",
|
||||
"mini-html-webpack-plugin": "3.1.3",
|
||||
"nodemon": "2.0.20",
|
||||
"postcss": "8.4.16",
|
||||
"postcss-less": "^6.0.0",
|
||||
"prettier": "2.7.1",
|
||||
"prop-types": "15.8.1",
|
||||
"qs": "6.11.0",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0",
|
||||
"react-github-btn": "1.4.0",
|
||||
"react-is": "18.2.0",
|
||||
"react-rainbow-components": "1.31.0",
|
||||
"rimraf": "3.0.2",
|
||||
"rollup": "2.63.0",
|
||||
"rollup-plugin-analyzer": "3.3.0",
|
||||
"rollup-plugin-esbuild": "4.8.2",
|
||||
"rollup-plugin-ignore-import": "1.3.2",
|
||||
"rollup-plugin-less": "1.1.3",
|
||||
"rollup-plugin-multi-input": "1.1.1",
|
||||
"rollup-plugin-postcss": "4.0.1",
|
||||
"rollup-plugin-static-import": "0.1.1",
|
||||
"rollup-plugin-styles": "4.0.0",
|
||||
"rollup-plugin-terser": "~7.0.2",
|
||||
"rollup-plugin-vue": "5.1.9",
|
||||
"rollup-pluginutils": "2.8.2",
|
||||
"style-loader": "2.0.0",
|
||||
"stylelint": "14.11.0",
|
||||
"stylelint-config-prettier": "9.0.3",
|
||||
"stylelint-config-recommended-vue": "1.4.0",
|
||||
"stylelint-config-tencent": "1.0.0",
|
||||
"stylelint-order": "5.0.0",
|
||||
"tdesign-icons-vue": "0.0.8",
|
||||
"tdesign-vue": "1.4.5",
|
||||
"unplugin-auto-import": "0.11.2",
|
||||
"unplugin-vue-components": "0.22.4",
|
||||
"vite": "4.3.5",
|
||||
"vite-plugin-vue2": "2.0.2",
|
||||
"vitest": "0.31.0",
|
||||
"vue": "2.6.14",
|
||||
"vue-loader": "15.10.0",
|
||||
"vue-styleguidist": "4.54.1",
|
||||
"vue-template-compiler": "2.6.14",
|
||||
"vuex": "3.4.0",
|
||||
"webpack": "5.74.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@gtff/tdesign-gt-vue": "1.4.5",
|
||||
"@wecity/tdesign-vue-ie": "1.4.5",
|
||||
"tdesign-icons-vue": "0.0.8",
|
||||
"tdesign-vue": "1.4.5",
|
||||
"vuex": "3.4.0"
|
||||
},
|
||||
"lint-staged": {
|
||||
"src/**/*.{js,ts,tsx,jsx,vue}": "pnpm lint",
|
||||
"src/**/*.{vue,less,css,html}": "pnpm lint:style"
|
||||
},
|
||||
"dependencies": {
|
||||
"@wecity/http-json-key-format": "0.0.4-alpha",
|
||||
"chalk": "2.4.2",
|
||||
"cross-spawn": "^7.0.3",
|
||||
"dayjs": "1.11.5",
|
||||
"qrcodejs2": "0.0.3",
|
||||
"rollup-plugin-filesize": "^9.1.2",
|
||||
"uuid": "^9.0.0",
|
||||
"vue-frag": "1.4.1",
|
||||
"xwcj-sdk-h5": "1.0.28",
|
||||
"yargs-parser": "^21.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"pnpm": ">6"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "vue-styleguidist server --open",
|
||||
"dev:nodemon": "cross-env NODE_ENV=development nodemon -x vue-styleguidist server",
|
||||
"prebuild": "rimraf es && rimraf esm && rimraf lib && rimraf dist",
|
||||
"build:less": "lessc src/style/global.less dist/global.css && lessc src/style/ie.less dist/ie.css",
|
||||
"build": "cross-env NODE_ENV=production rollup -c ./rollup.config.js && pnpm build:less",
|
||||
"build:site": "cross-env NODE_ENV=production vue-styleguidist build",
|
||||
"release": "node ./publish.js",
|
||||
"lint": "eslint --fix",
|
||||
"lint:style": "stylelint --fix",
|
||||
"test": "vitest",
|
||||
"coverage": "vitest run --coverage",
|
||||
"vitest-ui": "vitest --ui"
|
||||
}
|
||||
}
|
||||
4
local-nodemodules/@gtff/tdesign-gt-vue/.browserslistrc
Normal file
4
local-nodemodules/@gtff/tdesign-gt-vue/.browserslistrc
Normal file
@ -0,0 +1,4 @@
|
||||
> 1%
|
||||
last 2 versions
|
||||
ie > 8
|
||||
chrome > 69
|
||||
65
local-nodemodules/@gtff/tdesign-gt-vue/.eslintrc.js
Normal file
65
local-nodemodules/@gtff/tdesign-gt-vue/.eslintrc.js
Normal file
@ -0,0 +1,65 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
node: true,
|
||||
browser: true,
|
||||
},
|
||||
extends: ['plugin:vue/essential', 'airbnb-base', 'plugin:prettier/recommended'],
|
||||
parserOptions: {
|
||||
parser: 'babel-eslint',
|
||||
ecmaFeatures: {
|
||||
jsx: true,
|
||||
},
|
||||
},
|
||||
plugins: ['import'],
|
||||
settings: {
|
||||
// 别名
|
||||
'import/resolver': {
|
||||
alias: {
|
||||
map: [['@', './src/']],
|
||||
extensions: ['.js', '.vue'],
|
||||
},
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'func-names': 0,
|
||||
'import/extensions': 0,
|
||||
'no-unused-expressions': 0,
|
||||
/**
|
||||
* 导入语句前不允许有任何非导入语句
|
||||
*/
|
||||
'import/first': 'error',
|
||||
/**
|
||||
* 禁止重复导入模块
|
||||
*/
|
||||
'import/no-duplicates': 'error',
|
||||
/**
|
||||
* 禁止使用 let 导出
|
||||
*/
|
||||
'import/no-mutable-exports': 'warn',
|
||||
/**
|
||||
* 禁用导入的模块时使用 webpack 特有的语法(感叹号)
|
||||
*/
|
||||
'import/no-webpack-loader-syntax': 'warn',
|
||||
/**
|
||||
* 当只有一个导出时,必须使用 export default 来导出
|
||||
*/
|
||||
'import/prefer-default-export': 'off',
|
||||
'import/no-extraneous-dependencies': [
|
||||
'error',
|
||||
{
|
||||
devDependencies: true,
|
||||
},
|
||||
],
|
||||
'no-plusplus': [
|
||||
'error',
|
||||
{
|
||||
allowForLoopAfterthoughts: true,
|
||||
},
|
||||
],
|
||||
'import/no-dynamic-require': 0,
|
||||
'global-require': 0,
|
||||
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
||||
},
|
||||
};
|
||||
11
local-nodemodules/@gtff/tdesign-gt-vue/README.md
Normal file
11
local-nodemodules/@gtff/tdesign-gt-vue/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
存放 vue2 版本的税务行业 UI 组件,只实现页面交互,无数据接口对接
|
||||
|
||||
## 构建样式
|
||||
|
||||
```sh
|
||||
# 实时监听编译less
|
||||
yarn dev:css
|
||||
|
||||
# 构建样式
|
||||
yarn build:less
|
||||
```
|
||||
10
local-nodemodules/@gtff/tdesign-gt-vue/babel.config.js
Normal file
10
local-nodemodules/@gtff/tdesign-gt-vue/babel.config.js
Normal file
@ -0,0 +1,10 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
[
|
||||
'@vue/cli-plugin-babel/preset',
|
||||
{
|
||||
useBuiltIns: 'entry',
|
||||
},
|
||||
],
|
||||
],
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
function r(){return r=Object.assign||function(r){for(var e,t=1;t<arguments.length;t++)for(var n in e=arguments[t])Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r},r.apply(this,arguments)}var e=["attrs","props","domProps"],t=["class","style","directives"],n=["on","nativeOn"],o=function(r,e){return function(){r&&r.apply(this,arguments),e&&e.apply(this,arguments)}},a=function(a){return a.reduce((function(a,i){for(var c in i)if(a[c])if(-1!==e.indexOf(c))a[c]=r({},a[c],i[c]);else if(-1!==t.indexOf(c)){var u=a[c]instanceof Array?a[c]:[a[c]],l=i[c]instanceof Array?i[c]:[i[c]];a[c]=u.concat(l)}else if(-1!==n.indexOf(c))for(var s in i[c])if(a[c][s]){var f=a[c][s]instanceof Array?a[c][s]:[a[c][s]],p=i[c][s]instanceof Array?i[c][s]:[i[c][s]];a[c][s]=f.concat(p)}else a[c][s]=i[c][s];else if("hook"==c)for(var y in i[c])a[c][y]=a[c][y]?o(a[c][y],i[c][y]):i[c][y];else a[c]=i[c];else a[c]=i[c];return a}),{})};function i(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function c(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function u(r){return function(r){if(Array.isArray(r))return c(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||function(r,e){if(r){if("string"==typeof r)return c(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?c(r,e):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,n)}return t}function s(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?l(Object(t),!0).forEach((function(e){i(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}var f={name:"GFilterWrapper",props:{expand:{type:Boolean,default:!1},colNum:{type:Number,default:4,validator:function(r){return-1!==[1,2,3,4,6,12].indexOf(r)}},rowProps:{type:Object,default:function(){return{gutter:[16,0]}}}},methods:{renderContent:function(){var r=this,e=this.$createElement,t=this.$scopedSlots.default(),n=[],o=u(t);o.forEach((function(r,e){var t,o;if(r.isComment)n.push(e);else{var a={};null===(t=r.data)||void 0===t||null===(o=t.directives)||void 0===o||o.forEach((function(r){a[r.rawName]=r.value})),Object.prototype.hasOwnProperty.call(a,"v-show")&&!a["v-show"]&&n.push(e)}}));var i=[],c=o.map((function(r,e){return e}));if(this.expand)i=n;else{var l=[];c.forEach((function(e){n.includes(e)?i.push(e):e!==c.length-1?l.length<r.colNum-1?l.push(e):i.push(e):l.push(e)}))}var f=o.length-i.length,p=Math.ceil(f/this.colNum);if(p>1){var y=Array(this.colNum*p-f).fill("");o.splice.apply(o,[o.length-1,0].concat(u(y)))}var h={props:s({},this.rowProps)};return e("t-row",a([{},h]),[o.map((function(t,n){var o=i.includes(n)?0:12/r.colNum;return e("t-col",a([{},{props:{span:o,key:n},domProps:{"data-index":n}}]),[t])}))])}},render:function(){var r=arguments[0];return r("div",{class:"g-filter-wrapper"},[this.renderContent()])}};export{f as default};
|
||||
@ -0,0 +1 @@
|
||||
function r(){return r=Object.assign||function(r){for(var t,e=1;e<arguments.length;e++)for(var n in t=arguments[e])Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n]);return r},r.apply(this,arguments)}var t=["attrs","props","domProps"],e=["class","style","directives"],n=["on","nativeOn"],o=function(r,t){return function(){r&&r.apply(this,arguments),t&&t.apply(this,arguments)}},a=function(a){return a.reduce((function(a,i){for(var c in i)if(a[c])if(-1!==t.indexOf(c))a[c]=r({},a[c],i[c]);else if(-1!==e.indexOf(c)){var u=a[c]instanceof Array?a[c]:[a[c]],l=i[c]instanceof Array?i[c]:[i[c]];a[c]=u.concat(l)}else if(-1!==n.indexOf(c))for(var s in i[c])if(a[c][s]){var f=a[c][s]instanceof Array?a[c][s]:[a[c][s]],p=i[c][s]instanceof Array?i[c][s]:[i[c][s]];a[c][s]=f.concat(p)}else a[c][s]=i[c][s];else if("hook"==c)for(var d in i[c])a[c][d]=a[c][d]?o(a[c][d],i[c][d]):i[c][d];else a[c]=i[c];else a[c]=i[c];return a}),{})};function i(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}function c(r,t){(null==t||t>r.length)&&(t=r.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=r[e];return n}function u(r){return function(r){if(Array.isArray(r))return c(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||function(r,t){if(r){if("string"==typeof r)return c(r,t);var e=Object.prototype.toString.call(r).slice(8,-1);return"Object"===e&&r.constructor&&(e=r.constructor.name),"Map"===e||"Set"===e?Array.from(r):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?c(r,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function s(r){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?l(Object(e),!0).forEach((function(t){i(r,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):l(Object(e)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}))}return r}var f={name:"GFilterWrapper",props:{expand:{type:Boolean,default:!1},colNum:{type:Number,default:4,validator:function(r){return-1!==[1,2,3,4,6,12].indexOf(r)}},rowProps:{type:Object,default:function(){return{gutter:[16,0]}}}},methods:{getNewItems:function(r){var t=this,e=[],n=0;return r.forEach((function(r){var o=(r.data||{}).attrs,a=void 0===o?{}:o,i=+a["g-col-num"]||+a.gColNum||1;n+i<t.colNum?(n+=i,e.push(r)):n+i===t.colNum?(e.push(r),n=0):(Array(t.colNum-n).fill("").forEach((function(){return e.push("")})),e.push(r),n=i)})),e},renderContent:function(){var r=this,t=this.$createElement,e=this.$scopedSlots.default(),n=[],o=this.getNewItems(u(e)),i=0,c=0,l=[];o.forEach((function(r,t){var e,o,a=(r.data||{}).attrs,u=void 0===a?{}:a,s=+u["g-col-num"]||+u.gColNum||1;if(l.push({index:t,colSpan:s}),i+=s,r.isComment)return n.push(t),void(c+=s);var f={};null===(e=r.data)||void 0===e||null===(o=e.directives)||void 0===o||o.forEach((function(r){f[r.rawName]=r.value})),Object.prototype.hasOwnProperty.call(f,"v-show")&&!f["v-show"]&&(n.push(t),c+=s)}));var f=[];if(this.expand)f=n;else{var p=0;l.forEach((function(t){var e=t.index,o=t.colSpan;n.includes(e)?f.push(e):e!==l.length-1?p<r.colNum-1?p+=o:(f.push(e),c+=o):p+=1}))}var d=i-c,h=Math.ceil(d/this.colNum);if(h>1){var v=Array(this.colNum*h-d).fill("");o.splice.apply(o,[o.length-1,0].concat(u(v)))}var y={props:s({},this.rowProps)};return t("t-row",a([{},y]),[o.map((function(e,n){var o=(e.data||{}).attrs,i=void 0===o?{}:o,c=+i["g-col-num"]||+i.gColNum||1,u=f.includes(n)?0:12/r.colNum*c;return t("t-col",a([{},{props:{span:u,key:n},domProps:{"data-index":n}}]),[e])}))])}},render:function(){var r=arguments[0];return r("div",{class:"g-filter-wrapper"},[this.renderContent()])}};export{f as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
import{ChevronDownIcon as e,CaretDownSmallIcon as n,CaretRightSmallIcon as r,CloseCircleFilledIcon as t,ErrorIcon as o}from"tdesign-icons-vue";var i,a,c,l={animation:{exclude:(i=navigator.userAgent,a=i.indexOf("compatible")>-1&&i.indexOf("MSIE")>-1,c=i.indexOf("Trident")>-1&&i.indexOf("rv:11.0")>-1,a||c?["ripple"]:[])},pagination:{itemsPerPage:"{size} 条/页",jumpTo:"跳至",page:"页",total:"共 {total} 条"},calendar:{fillWithZero:!1,yearSelection:"{year} 年",monthSelection:"{month} 月",yearRadio:"年",monthRadio:"月",hideWeekend:"隐藏周末",showWeekend:"显示周末",today:"今天",thisMonth:"本月",week:["周一","周二","周三","周四","周五","周六","周日"].join(),cellMonth:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"].join()},transfer:{title:"{checked} / {total}",empty:"暂无数据",placeholder:"请输入"},dialog:{confirm:"确定",cancel:"取消",confirmBtnTheme:{default:"primary",info:"primary",warning:"warning",danger:"danger",success:"success"}},drawer:{confirm:"确定",cancel:"取消"},popconfirm:{confirm:"确定",cancel:"取消",confirmBtnTheme:{default:"primary",warning:"warning",danger:"danger"}},table:{empty:"暂无数据",expandIcon:function(n){return n&&n(e)},sortIcon:function(e){return e&&e(n)}},tree:{empty:"暂无数据",folderIcon:function(e){return e&&e(r)}},select:{empty:"暂无数据",loadingText:"加载中...",clearIcon:function(e){return e&&e(t)}},treeSelect:{empty:"暂无数据",loadingText:"加载中..."},steps:{errorIcon:function(e){return e&&e(o)}}};export{l as zhCH};
|
||||
3
local-nodemodules/@gtff/tdesign-gt-vue/es/index.js
Normal file
3
local-nodemodules/@gtff/tdesign-gt-vue/es/index.js
Normal file
File diff suppressed because one or more lines are too long
1
local-nodemodules/@gtff/tdesign-gt-vue/es/mixins/menu.js
Normal file
1
local-nodemodules/@gtff/tdesign-gt-vue/es/mixins/menu.js
Normal file
@ -0,0 +1 @@
|
||||
var t={methods:{onItemClick:function(t){var n=this,e=t.path,o=t.target,r=t.href;r?window.open(r,o||"_blank"):"_blank"!==o?"_top"!==o?this.$emit(this.selectedEvent,t,(function(){n.$router&&((n.$route&&n.$route.path)!==e&&n.$router.push(e))})):this.$propsFromQiankun.parentInstance&&this.$propsFromQiankun.parentInstance.$router.push(e):window.open(e)}}};export{t as menuMixins};
|
||||
@ -0,0 +1 @@
|
||||
var a={};export{a as default};
|
||||
@ -0,0 +1 @@
|
||||
var a={};export{a as default};
|
||||
1
local-nodemodules/@gtff/tdesign-gt-vue/es/store/index.js
Normal file
1
local-nodemodules/@gtff/tdesign-gt-vue/es/store/index.js
Normal file
@ -0,0 +1 @@
|
||||
function e(e,E,t){return E in e?Object.defineProperty(e,E,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[E]=t,e}var E,t={SET_SIDEBAR_CONFIG:"SET_SIDEBAR_CONFIG",SET_SIDEBAR_EXPAND_LEVEL:"SET_SIDEBAR_EXPAND_LEVEL",TOGGLE_SIDEBAR:"TOGGLE_SIDEBAR",SET_TOPBAR_CONFIG:"SET_TOPBAR_CONFIG",SET_TOPBAR_ACTIVE_KEY:"SET_TOPBAR_ACTIVE_KEY",SET_TOPBAR_EXPAND_TYPE:"SET_TOPBAR_EXPAND_TYPE",SET_HEADER_USER_STATUS:"SET_HEADER_USER_STATUS",SET_TOPBAR_ACTIVE_MENU_ITEM:"SET_TOPBAR_ACTIVE_MENU_ITEM",DEAL_LOADING:"DEAL_LOADING",SET_USER_INFO:"SET_USER_INFO",REGISTER_EVENT:"REGISTER_EVENT",SET_SIDEBAR_STATUS:"SET_SIDEBAR_STATUS",SET_SIDEBAR_ACTIVE_KEY:"SET_SIDEBAR_ACTIVE_KEY",SET_SIDEBAR_ACTIVE_MENU_ITEM:"SET_SIDEBAR_ACTIVE_MENU_ITEM",SET_SIDEBAR_EXPANDED:"SET_SIDEBAR_EXPANDED"};function n(e,E){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);E&&(n=n.filter((function(E){return Object.getOwnPropertyDescriptor(e,E).enumerable}))),t.push.apply(t,n)}return t}function _(E){for(var t=1;t<arguments.length;t++){var _=null!=arguments[t]?arguments[t]:{};t%2?n(Object(_),!0).forEach((function(t){e(E,t,_[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(E,Object.getOwnPropertyDescriptors(_)):n(Object(_)).forEach((function(e){Object.defineProperty(E,e,Object.getOwnPropertyDescriptor(_,e))}))}return E}var i=(e(E={},t.TOGGLE_SIDEBAR,(function(e){Object.assign(e,{isSideBarCollapse:!e.isSideBarCollapse})})),e(E,t.SET_TOPBAR_CONFIG,(function(e,E){Object.assign(e,{topbarConfig:E})})),e(E,t.SET_TOPBAR_ACTIVE_KEY,(function(e,E){Object.assign(e,{topbarActiveKey:E})})),e(E,t.SET_TOPBAR_EXPAND_TYPE,(function(e,E){Object.assign(e,{topbarExpandType:E})})),e(E,t.SET_HEADER_USER_STATUS,(function(e,E){Object.assign(e,{headerUserStatus:E})})),e(E,t.SET_TOPBAR_ACTIVE_MENU_ITEM,(function(e,E){Object.assign(e,{topbarActiveMenuItem:E})})),e(E,t.SET_SIDEBAR_CONFIG,(function(e,E){var t=Array.isArray(E)?E:E.list;Object.assign(e,{sideBarConfig:[].concat(t)})})),e(E,t.SET_SIDEBAR_EXPAND_LEVEL,(function(e,E){Object.assign(e,{sidebarExpandLevel:E})})),e(E,t.SET_SIDEBAR_ACTIVE_KEY,(function(e,E){Object.assign(e,{sidebarActiveKey:E})})),e(E,t.SET_SIDEBAR_ACTIVE_MENU_ITEM,(function(e,E){Object.assign(e,{sidebarActiveMenuItem:E})})),e(E,t.SET_SIDEBAR_EXPANDED,(function(e,E){Object.assign(e,{sidebarExpanded:E})})),e(E,t.DEAL_LOADING,(function(e,E){Object.assign(e,{loading:E})})),e(E,t.SET_USER_INFO,(function(e,E){Object.assign(e,{user:_({},E)})})),e(E,t.REGISTER_EVENT,(function(e,E){Object.assign(e,{event:E})})),e(E,t.SET_SIDEBAR_STATUS,(function(e,E){Object.assign(e,{isShowSideBar:E})})),E),T={namespaced:!0,state:function(){return{event:{},loading:{spinning:!1,tip:""},isShowSideBar:void 0,isSideBarCollapse:!1,sideBarConfig:[],sidebarExpandLevel:0,sidebarActiveKey:"",sidebarActiveMenuItem:{},sidebarExpanded:[],topbarConfig:[],topbarActiveKey:"",topbarExpandType:"popup",headerUserStatus:!0,topbarActiveMenuItem:{},user:{isLogin:!1,info:{name:""},menu:[]}}},mutations:i,actions:{},getters:{}},r={init:function(e,E){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return e.use(E),Object.assign(e.prototype,{$storeGlobalTypes:t}),new E.Store({plugins:n,modules:{global:T}})}};export{r as default,r as store};
|
||||
@ -0,0 +1 @@
|
||||
var E={SET_SIDEBAR_CONFIG:"SET_SIDEBAR_CONFIG",SET_SIDEBAR_EXPAND_LEVEL:"SET_SIDEBAR_EXPAND_LEVEL",TOGGLE_SIDEBAR:"TOGGLE_SIDEBAR",SET_TOPBAR_CONFIG:"SET_TOPBAR_CONFIG",SET_TOPBAR_ACTIVE_KEY:"SET_TOPBAR_ACTIVE_KEY",SET_TOPBAR_EXPAND_TYPE:"SET_TOPBAR_EXPAND_TYPE",SET_HEADER_USER_STATUS:"SET_HEADER_USER_STATUS",SET_TOPBAR_ACTIVE_MENU_ITEM:"SET_TOPBAR_ACTIVE_MENU_ITEM",DEAL_LOADING:"DEAL_LOADING",SET_USER_INFO:"SET_USER_INFO",REGISTER_EVENT:"REGISTER_EVENT",SET_SIDEBAR_STATUS:"SET_SIDEBAR_STATUS",SET_SIDEBAR_ACTIVE_KEY:"SET_SIDEBAR_ACTIVE_KEY",SET_SIDEBAR_ACTIVE_MENU_ITEM:"SET_SIDEBAR_ACTIVE_MENU_ITEM",SET_SIDEBAR_EXPANDED:"SET_SIDEBAR_EXPANDED"};export{E as default};
|
||||
@ -0,0 +1 @@
|
||||
function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var t,n="SET_SIDEBAR_CONFIG",i="SET_SIDEBAR_EXPAND_LEVEL",r="SET_TOPBAR_CONFIG",c="SET_TOPBAR_ACTIVE_KEY",s="SET_TOPBAR_EXPAND_TYPE",a="SET_HEADER_USER_STATUS",o="SET_TOPBAR_ACTIVE_MENU_ITEM",E="DEAL_LOADING",O="SET_USER_INFO",b="REGISTER_EVENT",u="SET_SIDEBAR_STATUS",_="SET_SIDEBAR_ACTIVE_KEY",f="SET_SIDEBAR_ACTIVE_MENU_ITEM",S="SET_SIDEBAR_EXPANDED";function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function A(t){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?T(Object(i),!0).forEach((function(n){e(t,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):T(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}var j=(e(t={},"TOGGLE_SIDEBAR",(function(e){Object.assign(e,{isSideBarCollapse:!e.isSideBarCollapse})})),e(t,r,(function(e,t){Object.assign(e,{topbarConfig:t})})),e(t,c,(function(e,t){Object.assign(e,{topbarActiveKey:t})})),e(t,s,(function(e,t){Object.assign(e,{topbarExpandType:t})})),e(t,a,(function(e,t){Object.assign(e,{headerUserStatus:t})})),e(t,o,(function(e,t){Object.assign(e,{topbarActiveMenuItem:t})})),e(t,n,(function(e,t){var n=Array.isArray(t)?t:t.list;Object.assign(e,{sideBarConfig:[].concat(n)})})),e(t,i,(function(e,t){Object.assign(e,{sidebarExpandLevel:t})})),e(t,_,(function(e,t){Object.assign(e,{sidebarActiveKey:t})})),e(t,f,(function(e,t){Object.assign(e,{sidebarActiveMenuItem:t})})),e(t,S,(function(e,t){Object.assign(e,{sidebarExpanded:t})})),e(t,E,(function(e,t){Object.assign(e,{loading:t})})),e(t,O,(function(e,t){Object.assign(e,{user:A({},t)})})),e(t,b,(function(e,t){Object.assign(e,{event:t})})),e(t,u,(function(e,t){Object.assign(e,{isShowSideBar:t})})),t);export{j as default};
|
||||
1
local-nodemodules/@gtff/tdesign-gt-vue/es/store/state.js
Normal file
1
local-nodemodules/@gtff/tdesign-gt-vue/es/store/state.js
Normal file
@ -0,0 +1 @@
|
||||
var e=function(){return{event:{},loading:{spinning:!1,tip:""},isShowSideBar:void 0,isSideBarCollapse:!1,sideBarConfig:[],sidebarExpandLevel:0,sidebarActiveKey:"",sidebarActiveMenuItem:{},sidebarExpanded:[],topbarConfig:[],topbarActiveKey:"",topbarExpandType:"popup",headerUserStatus:!0,topbarActiveMenuItem:{},user:{isLogin:!1,info:{name:""},menu:[]}}};export{e as default};
|
||||
@ -0,0 +1 @@
|
||||
function e(e){return new RegExp("[\\u4E00-\\u9FFF]+","g").test(e)}function n(e){return new RegExp("^[a-zA-Z]+$","g").test(e)}function t(){var e=navigator.userAgent,n=e.indexOf("compatible")>-1&&e.indexOf("MSIE")>-1,t=e.indexOf("Trident")>-1&&e.indexOf("rv:11.0")>-1;return!(!n&&!t)}export{e as isChinese,n as isLetter,t as isMSIE};
|
||||
3
local-nodemodules/@gtff/tdesign-gt-vue/es/utils/index.js
Normal file
3
local-nodemodules/@gtff/tdesign-gt-vue/es/utils/index.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
import e from"axios";import r from"qs";import{cloneDeep as t}from"lodash-es";function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}var s=function e(r,t,n,s){if("object"===o(t)){if(Array.isArray(t))return t.map((function(r){return e(null,r,n,s)}));for(var i in t){var a=t[i],c="function"==typeof n?n(i,a):i;t[c]=e(i,a,n,s),c!==i&&delete t[i]}return t}return"function"==typeof s?s(r,t):t},i=function(e){return"string"==typeof e&&e?e.replace(e[0],e[0].toLowerCase()):e},a=function(e){return"string"==typeof e&&e?e.replace(e[0],e[0].toUpperCase()):e};function c(e){return{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Event]":"event","[object Object]":"object","[object MouseEvent]":"mouseEvent"}[Object.prototype.toString.call(e)]}function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function f(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?u(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var p=function(e){return s(null,e,i)},l=function(e,r){return f({error:f({},e)},r)},d=function(e){return"local"===window.STATIC_ENV_CONFIG.VUE_APP_MODEL&&console.warn("接口非0啦!错误信息看这里!","\n responseURL:",e.request.responseURL,"\n data: ",e.data,"\n all message: ",e),!1},b=function(e){if("undefined"===c(e))return d(e),Promise.reject(new Error("response is undefined"));var r=e.data,t=void 0===r?{}:r,n=e.config,o=void 0===n?{}:n;o.hideLoading;var a={reqConfig:f({},p(o))};return o.headers&&"old"===o.headers["x-api-version"]?0!=+t.errcode?(d(e),Promise.reject(l(t,a))):f({data:t},a):t.Response?void 0!==t.Response.Data?Object.assign(s(null,t.Response,i),a):(d(e),Promise.reject(Object.assign(s(null,t.Response,i),a))):f({},e)},j=function(e){if(e&&e.response){var r=e.response,t=r.config,n=void 0===t?{}:t,o=r.data,a=void 0===o?{}:o;n.hideLoading,console.error("=====> statusCode no 2xx,Reject: ",e.response);var u={reqConfig:f({},p(n))};return"object"===c(a)?"old"!==n.headers["x-api-version"]?Promise.reject(Object.assign(s(null,a.Response,i),u)):Promise.reject(l(a,u)):Promise.reject(l({data:e.response.data,status:e.response.status,statusText:e.response.statusText,headers:e.response.headers},u))}return Promise.reject(e||new Error("Unknown Network Error"))},y=function(e){if("old"!==e.headers["x-api-version"]){if(e.data){var r=t(e.data);Object.assign(e,{data:s(null,r,a)})}if(e.params){var n=t(e.params);Object.assign(e,{params:s(null,n,a)})}}return e.hideLoading,e},m=function(e){return Promise.reject(e)},O=function(){var r=e.create({maxRedirects:0});return r.defaults.timeout=window.STATIC_ENV_CONFIG&&window.STATIC_ENV_CONFIG.VUE_APP_API_TIMEOUT||15e3,r.defaults.headers["Content-Type"]="application/json",r.interceptors.request.use(y,m),r.interceptors.response.use(b,j),r},g=function(){var t=e.create({method:"post",headers:{"Content-Type":"application/x-www-form-urlencoded"},transformRequest:[function(e){return Object.keys(e).forEach((function(r){"object"===o(e[r])&&Object.assign(e,n({},r,JSON.stringify(e[r])))})),r.stringify(e)}]});return t.interceptors.request.use(y,m),t.interceptors.response.use(b,j),t},v=O(),w=g();export{O as createRequest,g as createRequestFd,v as request,w as requestFd};
|
||||
@ -0,0 +1 @@
|
||||
import{cloneDeep as e}from"lodash-es";function r(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}var n=function e(r,n,o,s){if("object"===t(n)){if(Array.isArray(n))return n.map((function(r){return e(null,r,o,s)}));for(var i in n){var a=n[i],c="function"==typeof o?o(i,a):i;n[c]=e(i,a,o,s),c!==i&&delete n[i]}return n}return"function"==typeof s?s(r,n):n},o=function(e){return"string"==typeof e&&e?e.replace(e[0],e[0].toLowerCase()):e},s=function(e){return"string"==typeof e&&e?e.replace(e[0],e[0].toUpperCase()):e};function i(e){return{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Event]":"event","[object Object]":"object","[object MouseEvent]":"mouseEvent"}[Object.prototype.toString.call(e)]}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var u=function(e){return n(null,e,o)},f=function(e,r){return c({error:c({},e)},r)},p=function(e){return"local"===window.STATIC_ENV_CONFIG.VUE_APP_MODEL&&console.warn("接口非0啦!错误信息看这里!","\n responseURL:",e.request.responseURL,"\n data: ",e.data,"\n all message: ",e),!1},l=function(e){if("undefined"===i(e))return p(e),Promise.reject(new Error("response is undefined"));var r=e.data,t=void 0===r?{}:r,s=e.config,a=void 0===s?{}:s;a.hideLoading;var l={reqConfig:c({},u(a))};return a.headers&&"old"===a.headers["x-api-version"]?0!=+t.errcode?(p(e),Promise.reject(f(t,l))):c({data:t},l):t.Response?void 0!==t.Response.Data?Object.assign(n(null,t.Response,o),l):(p(e),Promise.reject(Object.assign(n(null,t.Response,o),l))):c({},e)},b=function(e){if(e&&e.response){var r=e.response,t=r.config,s=void 0===t?{}:t,a=r.data,p=void 0===a?{}:a;s.hideLoading,console.error("=====> statusCode no 2xx,Reject: ",e.response);var l={reqConfig:c({},u(s))};return"object"===i(p)?"old"!==s.headers["x-api-version"]?Promise.reject(Object.assign(n(null,p.Response,o),l)):Promise.reject(f(p,l)):Promise.reject(f({data:e.response.data,status:e.response.status,statusText:e.response.statusText,headers:e.response.headers},l))}return Promise.reject(e||new Error("Unknown Network Error"))},d=function(r){if("old"!==r.headers["x-api-version"]){if(r.data){var t=e(r.data);Object.assign(r,{data:n(null,t,s)})}if(r.params){var o=e(r.params);Object.assign(r,{params:n(null,o,s)})}}return r.hideLoading,r},j=function(e){return Promise.reject(e)};export{d as requestBefore,j as requestError,b as responseReject,l as responseResolve};
|
||||
@ -0,0 +1 @@
|
||||
import e from"qs";function o(o){var t=o.url,d=void 0===t?"":t,n=o.params,i=void 0===n?null:n,a=o.iframeId,l=void 0===a?"download":a,r=o.type,c=void 0===r?"alink":r,m=d;if(i&&"[object Object]"===Object.prototype.toString.call(i)&&(m+="?".concat(e.stringify(i))),"alink"===c){var f=document.createElement("a");f.style.display="none",f.download="download",f.href=m,f.target="_blank",document.body.appendChild(f),f.click(),document.body.removeChild(f)}else if("iframe"===c){var p=document.createElement("iframe");p.id=l,p.style.display="none",p.src="",document.body.appendChild(p),setTimeout((function(){p.contentWindow.location.href=m,document.body.removeChild(p)}),50)}}export{o as default};
|
||||
@ -0,0 +1 @@
|
||||
var r=function(){var r=navigator.userAgent.toLowerCase(),e=[{reg:/edge\/([\d.]+)/,broswer:"Edge"},{reg:/rv:([\d.]+)\) like gecko/,broswer:"IE"},{reg:/msie ([\d.]+)/,broswer:"IE"},{reg:/firefox\/([\d.]+)/,broswer:"Firefox"},{reg:/chrome\/([\d.]+)/,broswer:"Chrome"},{reg:/opera.([\d.]+)/,broswer:"Opera"},{reg:/version\/([\d.]+).*safari/,broswer:"Safari"}].find((function(e){var o=e.reg;return r.match(o)}));if(e){var o=r.match(e.reg);return{broswer:e.broswer,version:o[1]}}return{broswer:"",version:"0"}};export{r as default};
|
||||
@ -0,0 +1,2 @@
|
||||
import e from"qs";var r=function(){var e=navigator.userAgent.toLowerCase(),r=[{reg:/edge\/([\d.]+)/,broswer:"Edge"},{reg:/rv:([\d.]+)\) like gecko/,broswer:"IE"},{reg:/msie ([\d.]+)/,broswer:"IE"},{reg:/firefox\/([\d.]+)/,broswer:"Firefox"},{reg:/chrome\/([\d.]+)/,broswer:"Chrome"},{reg:/opera.([\d.]+)/,broswer:"Opera"},{reg:/version\/([\d.]+).*safari/,broswer:"Safari"}].find((function(r){var t=r.reg;return e.match(t)}));if(r){var t=e.match(r.reg);return{broswer:r.broswer,version:t[1]}}return{broswer:"",version:"0"}};
|
||||
/*! js-cookie v3.0.1 | MIT */function t(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)e[o]=t[o]}return e}var o=function e(r,o){function n(e,n,i){if("undefined"!=typeof document){"number"==typeof(i=t({},o,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var c="";for(var a in i)i[a]&&(c+="; "+a,!0!==i[a]&&(c+="="+i[a].split(";")[0]));return document.cookie=e+"="+r.write(n,e)+c}}return Object.create({set:n,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var t=document.cookie?document.cookie.split("; "):[],o={},n=0;n<t.length;n++){var i=t[n].split("="),c=i.slice(1).join("=");try{var a=decodeURIComponent(i[0]);if(o[a]=r.read(c,a),e===a)break}catch(e){}}return e?o[e]:o}},remove:function(e,r){n(e,"",t({},r,{expires:-1}))},withAttributes:function(r){return e(this.converter,t({},this.attributes,r))},withConverter:function(r){return e(t({},this.converter,r),this.attributes)}},{attributes:{value:Object.freeze(o)},converter:{value:Object.freeze(r)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"}),n={get:function(e){return o.get(e)},set:function(e,r,t){o.set(e,r,t)},remove:function(e,r){o.remove(e,r)},clear:function(e){var r=o.get();Object.keys(r).forEach((function(r){o.remove(r,e)}))},check:function(e){var r=n.get(e);return""!==r&&null!=r}},i={get:function(e){try{return JSON.parse(window.localStorage.getItem(e))}catch(r){return window.localStorage.getItem(e)}},set:function(e,r){window.localStorage.setItem(e,JSON.stringify(r))},remove:function(e){window.localStorage.removeItem(e)},clear:function(){window.localStorage.clear()},check:function(e){return null!==i.get(e)}},c={get:function(e){try{return JSON.parse(window.sessionStorage.getItem(e))}catch(r){return window.sessionStorage.getItem(e)}},set:function(e,r){window.sessionStorage.setItem(e,JSON.stringify(r))},remove:function(e){window.sessionStorage.removeItem(e)},clear:function(){window.sessionStorage.clear()},check:function(e){return null!==c.get(e)}};function a(r){var t=r.url,o=void 0===t?"":t,n=r.params,i=void 0===n?null:n,c=r.iframeId,a=void 0===c?"download":c,s=r.type,u=void 0===s?"alink":s,d=o;if(i&&"[object Object]"===Object.prototype.toString.call(i)&&(d+="?".concat(e.stringify(i))),"alink"===u){var f=document.createElement("a");f.style.display="none",f.download="download",f.href=d,f.target="_blank",document.body.appendChild(f),f.click(),document.body.removeChild(f)}else if("iframe"===u){var l=document.createElement("iframe");l.id=a,l.style.display="none",l.src="",document.body.appendChild(l),setTimeout((function(){l.contentWindow.location.href=d,document.body.removeChild(l)}),50)}}export{n as cookie,a as download,r as getBroswer,i as localStorage,c as sessionStorage};
|
||||
@ -0,0 +1,2 @@
|
||||
/*! js-cookie v3.0.1 | MIT */
|
||||
function e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var t=function t(n,r){function o(t,o,i){if("undefined"!=typeof document){"number"==typeof(i=e({},r,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var c="";for(var u in i)i[u]&&(c+="; "+u,!0!==i[u]&&(c+="="+i[u].split(";")[0]));return document.cookie=t+"="+n.write(o,t)+c}}return Object.create({set:o,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var t=document.cookie?document.cookie.split("; "):[],r={},o=0;o<t.length;o++){var i=t[o].split("="),c=i.slice(1).join("=");try{var u=decodeURIComponent(i[0]);if(r[u]=n.read(c,u),e===u)break}catch(e){}}return e?r[e]:r}},remove:function(t,n){o(t,"",e({},n,{expires:-1}))},withAttributes:function(n){return t(this.converter,e({},this.attributes,n))},withConverter:function(n){return t(e({},this.converter,n),this.attributes)}},{attributes:{value:Object.freeze(r)},converter:{value:Object.freeze(n)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"}),n={get:function(e){return t.get(e)},set:function(e,n,r){t.set(e,n,r)},remove:function(e,n){t.remove(e,n)},clear:function(e){var n=t.get();Object.keys(n).forEach((function(n){t.remove(n,e)}))},check:function(e){var t=n.get(e);return""!==t&&null!=t}},r={get:function(e){try{return JSON.parse(window.localStorage.getItem(e))}catch(t){return window.localStorage.getItem(e)}},set:function(e,t){window.localStorage.setItem(e,JSON.stringify(t))},remove:function(e){window.localStorage.removeItem(e)},clear:function(){window.localStorage.clear()},check:function(e){return null!==r.get(e)}},o={get:function(e){try{return JSON.parse(window.sessionStorage.getItem(e))}catch(t){return window.sessionStorage.getItem(e)}},set:function(e,t){window.sessionStorage.setItem(e,JSON.stringify(t))},remove:function(e){window.sessionStorage.removeItem(e)},clear:function(){window.sessionStorage.clear()},check:function(e){return null!==o.get(e)}};export{n as cookie,r as localStorage,o as sessionStorage};
|
||||
1
local-nodemodules/@gtff/tdesign-gt-vue/es/utils/tools.js
Normal file
1
local-nodemodules/@gtff/tdesign-gt-vue/es/utils/tools.js
Normal file
@ -0,0 +1 @@
|
||||
var e,t,n,i=(e=navigator.userAgent,t=e.indexOf("compatible")>-1&&e.indexOf("MSIE")>-1,n=e.indexOf("Trident")>-1&&e.indexOf("rv:11.0")>-1,t||n?3:0),d=function(){return document.body.clientHeight&&document.documentElement.clientHeight?document.body.clientHeight<document.documentElement.clientHeight?document.body.clientHeight:document.documentElement.clientHeight:document.body.clientHeight>document.documentElement.clientHeight?document.body.clientHeight:document.documentElement.clientHeight},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=!("hasPageHeader"in e)||e.hasPageHeader,n=d(),o=e.header||64,c=t?e.pageHeader||60:0,a=e.margin||48,g=e.extraHeight||0,m=n-c-a-g-o-i;return m>300?m:300},c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.padding||24,n=e.pagination||66,d=e.condition||48,c=e.tableMinHeight||200,a=e.tableHeader||48,g=e.tableExtra||0,m=o(e)-t-a-g-i;return!1!==e.hasPagination&&(m-=n),!1!==e.hasCondition&&(m-=d),m>c?m:c};export{d as getClientHeight,c as getFirstLevelTableHeight,o as getPageContentHeight};
|
||||
@ -0,0 +1 @@
|
||||
function e(e){return{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Event]":"event","[object Object]":"object","[object MouseEvent]":"mouseEvent"}[Object.prototype.toString.call(e)]}export{e as typeOf};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,r=function(r){return"string"==typeof r&&t.test(r.trim())},e=new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),n=function(t){return"string"==typeof t&&e.test(t.trim())},a=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/,f=[1,0,10,9,8,7,6,5,4,3,2],u=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1],i=function(t){if("string"!=typeof t)return!1;var r=t.trim();return 18===r.length&&a.test(r)&&function(t){var r=t.split(""),e=0;"x"===r[17].toLowerCase()&&(r[17]=10);for(var n=0;n<17;n++)e+=u[n]*r[n];var a=e%11;return+r[17]===f[a]}(r)&&function(t){var r=t.substring(6,10),e=t.substring(10,12),n=t.substring(12,14),a=new Date(r,parseFloat(e)-1,parseFloat(n)),f=(new Date).getFullYear()-parseFloat(r);return a.getFullYear()===parseFloat(r)&&a.getMonth()===parseFloat(e)-1&&a.getDate()===parseFloat(n)&&f>=0&&f<=150}(r)},o=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/,s=function(t){return"string"==typeof t&&o.test(t.trim())},d=/^1[3456789]\d{9}$/,E=function(t){return"string"==typeof t&&d.test(t.trim())},A=/^[\u2E80-\uFE4F]+$/,I=function(t){return"string"==typeof t&&A.test(t.trim())},S=/^[\u2E80-\uFE4F]{2,6}(?:·[\u2E80-\uFE4F]{2,6})*$/,D=function(t){return"string"==typeof t&&S.test(t.trim())},O=/^[\da-zA-Z\s]{2,}$/,p=function(t){return"string"==typeof t&&O.test(t.trim())},$=/^1[45][0-9]{7}|([DSPGE](?![IO])[A-Z\d]{8})|((DE|SE|PE)(?![IO])[A-Z\d]{7})|([HM]\d{8, 10})$/,C=function(t){return"string"==typeof t&&$.test(t.toUpperCase().trim())},R=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=r.len,n=void 0===e?6:e;return"string"==typeof t&&t.length===n&&/^\d+$/.test(t.trim())},g={POLICE:/^[0-9a-zA-Z]{8,9}$/,OFFICER:/^[0-9a-zA-Z]{4,15}$/,SOLDIER:/^[0-9a-zA-Z]{4,15}$/,DISCHARGE:/^[0-9a-zA-Z]{4,20}$/,HMCOME:/^[HMhm]{1}\d{10}$/,TWCOME:/^(\d{8}|[a-zA-Z]\d{7})$/,HMPASS:/^[WCwc]\d{8}$/,TWPASS:/^[TLtl]\d{8}$/,HKID:/^[a-zA-Z0-9]{1}\d{6,7}[a-zA-Z0-9]{1}$/,MCID:/^[157]\d{6}\([0-9Aa]\)$/,TWID:/^[a-zA-Z]{1}\d{9}$/,HMTID:/^8[123]0000\d{12}$/,FOREIGNID:/^[a-zA-Z]{3}\d{12}$/,OTHERS:/^[0-9a-zA-Z]{4,20}$/},F={IDCARD:"IDCARD",PASSPORT:"PASSPORT",POLICE:"POLICE",OFFICER:"OFFICER",SOLDIER:"SOLDIER",DISCHARGE:"DISCHARGE",HMCOME:"HMCOME",TWCOME:"TWCOME",HMPASS:"HMPASS",TWPASS:"TWPASS",HKID:"HKID",MCID:"MCID",TWID:"TWID",HMTID:"HMTID",FOREIGNID:"FOREIGNID",OTHERS:"OTHERS"},H=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=r.type,n=void 0===e?F.OTHERS:e,a="";return-1===Object.keys(g).indexOf(n)&&(console.warn("证件类型不存在"),a=F.OTHERS),n===F.IDCARD?i(t):n===F.PASSPORT?C(t):"string"==typeof t&&g[a||n].test(t.trim())};export{I as isCJK,s as isCarNum,D as isCnName,r as isEmail,p as isEnName,i as isIDCard,E as isMobile,C as isPassport,H as isPermit,n as isURL,R as isVCode,F as permitType};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^[\u2E80-\uFE4F]+$/,r=function(r){return"string"==typeof r&&t.test(r.trim())};export{r as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/,r=function(r){return"string"==typeof r&&t.test(r.trim())};export{r as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^[\u2E80-\uFE4F]{2,6}(?:·[\u2E80-\uFE4F]{2,6})*$/,u=function(u){return"string"==typeof u&&t.test(u.trim())};export{u as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,r=function(r){return"string"==typeof r&&t.test(r.trim())};export{r as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^[\da-zA-Z\s]{2,}$/,r=function(r){return"string"==typeof r&&t.test(r.trim())};export{r as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/,r=[1,0,10,9,8,7,6,5,4,3,2],e=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1],a=function(a){if("string"!=typeof a)return!1;var n=a.trim();return 18===n.length&&t.test(n)&&function(t){var a=t.split(""),n=0;"x"===a[17].toLowerCase()&&(a[17]=10);for(var s=0;s<17;s++)n+=e[s]*a[s];var o=n%11;return+a[17]===r[o]}(n)&&function(t){var r=t.substring(6,10),e=t.substring(10,12),a=t.substring(12,14),n=new Date(r,parseFloat(e)-1,parseFloat(a)),s=(new Date).getFullYear()-parseFloat(r);return n.getFullYear()===parseFloat(r)&&n.getMonth()===parseFloat(e)-1&&n.getDate()===parseFloat(a)&&s>=0&&s<=150}(n)};export{a as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^1[3456789]\d{9}$/,r=function(r){return"string"==typeof r&&t.test(r.trim())};export{r as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^1[45][0-9]{7}|([DSPGE](?![IO])[A-Z\d]{8})|((DE|SE|PE)(?![IO])[A-Z\d]{7})|([HM]\d{8, 10})$/,e=function(e){return"string"==typeof e&&t.test(e.toUpperCase().trim())};export{e as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/,e=[1,0,10,9,8,7,6,5,4,3,2],r=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1],a=function(a){if("string"!=typeof a)return!1;var I=a.trim();return 18===I.length&&t.test(I)&&function(t){var a=t.split(""),I=0;"x"===a[17].toLowerCase()&&(a[17]=10);for(var D=0;D<17;D++)I+=r[D]*a[D];var S=I%11;return+a[17]===e[S]}(I)&&function(t){var e=t.substring(6,10),r=t.substring(10,12),a=t.substring(12,14),I=new Date(e,parseFloat(r)-1,parseFloat(a)),D=(new Date).getFullYear()-parseFloat(e);return I.getFullYear()===parseFloat(e)&&I.getMonth()===parseFloat(r)-1&&I.getDate()===parseFloat(a)&&D>=0&&D<=150}(I)},I=/^1[45][0-9]{7}|([DSPGE](?![IO])[A-Z\d]{8})|((DE|SE|PE)(?![IO])[A-Z\d]{7})|([HM]\d{8, 10})$/,D=function(t){return"string"==typeof t&&I.test(t.toUpperCase().trim())},S={POLICE:/^[0-9a-zA-Z]{8,9}$/,OFFICER:/^[0-9a-zA-Z]{4,15}$/,SOLDIER:/^[0-9a-zA-Z]{4,15}$/,DISCHARGE:/^[0-9a-zA-Z]{4,20}$/,HMCOME:/^[HMhm]{1}\d{10}$/,TWCOME:/^(\d{8}|[a-zA-Z]\d{7})$/,HMPASS:/^[WCwc]\d{8}$/,TWPASS:/^[TLtl]\d{8}$/,HKID:/^[a-zA-Z0-9]{1}\d{6,7}[a-zA-Z0-9]{1}$/,MCID:/^[157]\d{6}\([0-9Aa]\)$/,TWID:/^[a-zA-Z]{1}\d{9}$/,HMTID:/^8[123]0000\d{12}$/,FOREIGNID:/^[a-zA-Z]{3}\d{12}$/,OTHERS:/^[0-9a-zA-Z]{4,20}$/},n={IDCARD:"IDCARD",PASSPORT:"PASSPORT",POLICE:"POLICE",OFFICER:"OFFICER",SOLDIER:"SOLDIER",DISCHARGE:"DISCHARGE",HMCOME:"HMCOME",TWCOME:"TWCOME",HMPASS:"HMPASS",TWPASS:"TWPASS",HKID:"HKID",MCID:"MCID",TWID:"TWID",HMTID:"HMTID",FOREIGNID:"FOREIGNID",OTHERS:"OTHERS"},E=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.type,I=void 0===r?n.OTHERS:r,E="";return-1===Object.keys(S).indexOf(I)&&(console.warn("证件类型不存在"),E=n.OTHERS),I===n.IDCARD?a(t):I===n.PASSPORT?D(t):"string"==typeof t&&S[E||I].test(t.trim())};export{E as default,n as permitType};
|
||||
@ -0,0 +1 @@
|
||||
var f=new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),t=function(t){return"string"==typeof t&&f.test(t.trim())};export{t as default};
|
||||
@ -0,0 +1 @@
|
||||
var t=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.len,r=void 0===n?6:n;return"string"==typeof t&&t.length===r&&/^\d+$/.test(t.trim())};export{t as default};
|
||||
1
local-nodemodules/@gtff/tdesign-gt-vue/icon/icon-map.js
Normal file
1
local-nodemodules/@gtff/tdesign-gt-vue/icon/icon-map.js
Normal file
File diff suppressed because one or more lines are too long
6
local-nodemodules/@gtff/tdesign-gt-vue/icon/loader.js
Normal file
6
local-nodemodules/@gtff/tdesign-gt-vue/icon/loader.js
Normal file
@ -0,0 +1,6 @@
|
||||
module.exports = function modifyModuleSourceLoader(source) {
|
||||
const options = this && this.query && typeof this.query === 'object' ? this.query : {};
|
||||
const modify = options.modify || null;
|
||||
|
||||
return modify ? modify(source, options.path) : source;
|
||||
};
|
||||
176
local-nodemodules/@gtff/tdesign-gt-vue/icon/plugin.js
Normal file
176
local-nodemodules/@gtff/tdesign-gt-vue/icon/plugin.js
Normal file
@ -0,0 +1,176 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { icons } = require('./svg.json');
|
||||
// 待替换图标名称,和目标替换图标名称,映射关系
|
||||
const ICON_MAP = require('./icon-map');
|
||||
|
||||
const PLUGIN_NAME = 't-icon-replace-webpack-plugin';
|
||||
class TIconReplaceWebpackPlugin {
|
||||
constructor(options) {
|
||||
this.options = {
|
||||
name: PLUGIN_NAME,
|
||||
staticPath: 'static',
|
||||
debug: false,
|
||||
rules: [
|
||||
/**
|
||||
* 替换按需加载的icon组件
|
||||
*/
|
||||
{
|
||||
test: /tdesign-icons-vue\/(esm|lib)\/components\/.*\.js$/,
|
||||
modify: (src, pathString) => {
|
||||
let newData = src || '';
|
||||
// 获取需要替换的icon组件
|
||||
const fileNameObj = pathString.split('/');
|
||||
const fileNameExt = fileNameObj[fileNameObj.length - 1];
|
||||
const fileName = fileNameExt.split('.')[0];
|
||||
const module = ICON_MAP[fileName];
|
||||
// console.log('newData', newData);
|
||||
if (module) {
|
||||
newData = this.replace(src);
|
||||
}
|
||||
|
||||
return newData;
|
||||
},
|
||||
},
|
||||
/**
|
||||
* 替换全量t-icon组件
|
||||
*/
|
||||
{
|
||||
test: /tdesign-icons-vue\/(esm|dist)\/svg-sprite\/svg-sprite\.js$/,
|
||||
modify: (src) => {
|
||||
const str =
|
||||
process.env.RUN_TYPE === 'demo'
|
||||
? '//tencent-tdgv-1255000078.cos.zjywxc.csp.xc01.cloud.sat.tax/icon/svg.js'
|
||||
: /**
|
||||
* 本地开发模式会编译成绝对路径,如/dev/static/svg.js
|
||||
* 做成物料包会编译成./static/svg.js
|
||||
*/
|
||||
`${process.env.NODE_ENV === 'production' ? '.' : process.env.VUE_APP_CDN_PATH}/${
|
||||
this.options.staticPath
|
||||
}/svg.js`;
|
||||
// console.log('str', str);
|
||||
return src.replace(/(CDN_ICONFONT_URL = ['|"]).*(['|"])/, `$1${str}$2`);
|
||||
},
|
||||
},
|
||||
],
|
||||
...options,
|
||||
};
|
||||
|
||||
// 如果不是用于demo站点,则把svg.js拷贝到工程目录去
|
||||
if (
|
||||
process.env.RUN_TYPE !== 'demo' &&
|
||||
// 确保跑在vue-cli下
|
||||
process.env.VUE_APP_ENV !== undefined &&
|
||||
// 非lint模式
|
||||
/vue-cli-service lint/.test(process.env.npm_lifecycle_script) !== true
|
||||
) {
|
||||
this.copyJs();
|
||||
}
|
||||
|
||||
// return this.replacePlugin();
|
||||
}
|
||||
|
||||
apply(compiler) {
|
||||
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
||||
const modifiedModules = [];
|
||||
const { rules, debug } = this.options;
|
||||
const tapCallback = (params, normalModule) => {
|
||||
const userRequest = normalModule.userRequest || '';
|
||||
|
||||
const startIndex = userRequest.lastIndexOf('!') === -1 ? 0 : userRequest.lastIndexOf('!') + 1;
|
||||
|
||||
const moduleRequest = userRequest.substr(startIndex).replace(/\\/g, '/');
|
||||
|
||||
if (modifiedModules.includes(moduleRequest)) {
|
||||
return;
|
||||
}
|
||||
|
||||
rules.forEach((options, ruleIndex) => {
|
||||
const { test, modify } = options;
|
||||
const isMatched = (() => {
|
||||
if (typeof test === 'function' && test(normalModule)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return test instanceof RegExp && test.test(moduleRequest);
|
||||
})();
|
||||
|
||||
if (debug && isMatched) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.log(`[${PLUGIN_NAME}] Add loader for module ${moduleRequest} at index ${ruleIndex}.`);
|
||||
}
|
||||
|
||||
if (isMatched) {
|
||||
normalModule.loaders.push({
|
||||
loader: require.resolve('./loader.js'),
|
||||
options: {
|
||||
path: moduleRequest,
|
||||
ruleIndex,
|
||||
modify,
|
||||
},
|
||||
});
|
||||
|
||||
modifiedModules.push(moduleRequest);
|
||||
}
|
||||
});
|
||||
};
|
||||
compilation.hooks.normalModuleLoader.tap(PLUGIN_NAME, tapCallback);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换单个icon js文件的核心处理函数
|
||||
* @param source
|
||||
* @returns {*}
|
||||
*/
|
||||
replace(source = '') {
|
||||
let newSource = source;
|
||||
// let iconName = source.match(/-icon-([\w|-]+)/g)[0];
|
||||
const iconNameMatch = /id:[ ]?'([\w|-]+)'/g.exec(source);
|
||||
if (iconNameMatch && iconNameMatch.length > 1) {
|
||||
const iconName = iconNameMatch[1];
|
||||
const newIconName = ICON_MAP[iconName];
|
||||
const newIconSvg = icons.find((t) => t.name === newIconName);
|
||||
// 存在图标替换
|
||||
if (newIconName && newIconSvg) {
|
||||
// 匹配 svg / path 属性 进行替换
|
||||
let attrs = newIconSvg.svgCode.match(/([\w-]+?=".*?")/g);
|
||||
if (!attrs) {
|
||||
console.warn('icon svgCode is not correct, it should like `<svg ...><path ...></path></svg>`');
|
||||
return;
|
||||
}
|
||||
attrs = attrs.map((t) => {
|
||||
const r = t.split('=');
|
||||
return { key: r[0], value: r[1] };
|
||||
});
|
||||
// 不包含 value 的 svg 属性
|
||||
const pureAttrs = attrs.map((t) => t.key);
|
||||
const regExp = new RegExp(`"*(${pureAttrs.join('|')})"*: ".*?"`, 'g');
|
||||
newSource = source.replace(regExp, (str) => {
|
||||
for (let i = 0, len = attrs.length; i < len; i++) {
|
||||
const { key, value } = attrs[i];
|
||||
if (str.indexOf(key) !== -1) {
|
||||
return `"${key}": ${value}`;
|
||||
}
|
||||
}
|
||||
return str;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return newSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* 拷贝全量svg到项目静态目录
|
||||
*/
|
||||
copyJs() {
|
||||
fs.copyFileSync(
|
||||
path.resolve(__dirname, 'svg.js'),
|
||||
path.resolve(process.cwd(), `public/${this.options.staticPath}/svg.js`),
|
||||
);
|
||||
console.log('====>> 拷贝全量svg到项目静态目录成功');
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = TIconReplaceWebpackPlugin;
|
||||
11
local-nodemodules/@gtff/tdesign-gt-vue/icon/svg.js
Normal file
11
local-nodemodules/@gtff/tdesign-gt-vue/icon/svg.js
Normal file
File diff suppressed because one or more lines are too long
1
local-nodemodules/@gtff/tdesign-gt-vue/icon/svg.json
Normal file
1
local-nodemodules/@gtff/tdesign-gt-vue/icon/svg.json
Normal file
File diff suppressed because one or more lines are too long
21487
local-nodemodules/@gtff/tdesign-gt-vue/lib/index.common.js
Normal file
21487
local-nodemodules/@gtff/tdesign-gt-vue/lib/index.common.js
Normal file
File diff suppressed because it is too large
Load Diff
1
local-nodemodules/@gtff/tdesign-gt-vue/lib/index.css
Normal file
1
local-nodemodules/@gtff/tdesign-gt-vue/lib/index.css
Normal file
@ -0,0 +1 @@
|
||||
@-webkit-keyframes t-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes t-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.t-icon{display:inline-block;vertical-align:middle;width:1em;height:1em}.t-icon:before{font-family:unset}.t-icon-loading{-webkit-animation:t-spin 1s linear infinite;animation:t-spin 1s linear infinite}.t-icon{fill:currentColor}.t-icon.t-size-s{font-size:14px}.t-icon.t-size-m{font-size:16px}.t-icon.t-size-l{font-size:18px}.g-tooltip-label-wrapper[data-v-9c019630]{display:inline-block;max-width:100%;vertical-align:bottom}.g-tooltip-label-tooltip[data-v-9c019630]{width:100%;vertical-align:bottom}.g-tooltip-label-label[data-v-9c019630]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
||||
141
local-nodemodules/@gtff/tdesign-gt-vue/package.json
Normal file
141
local-nodemodules/@gtff/tdesign-gt-vue/package.json
Normal file
@ -0,0 +1,141 @@
|
||||
{
|
||||
"name": "@gtff/tdesign-gt-vue",
|
||||
"version": "1.4.0",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "joneshe",
|
||||
"email": "joneshe@tencent.com"
|
||||
},
|
||||
{
|
||||
"name": "smileswlin",
|
||||
"email": "smileswlin@tencent.com"
|
||||
}
|
||||
],
|
||||
"main": "lib/index.common.js",
|
||||
"module": "es/index.js",
|
||||
"unpkg": "dist/index.umd.min.js",
|
||||
"files": [
|
||||
"dist",
|
||||
"es",
|
||||
"lib",
|
||||
"plugins",
|
||||
"icon/icon-map.js",
|
||||
"icon/plugin.js",
|
||||
"icon/svg.js",
|
||||
"icon/svg.json",
|
||||
"icon/loader.js",
|
||||
"README.md",
|
||||
"babel.config.js",
|
||||
"stylelint.config.js",
|
||||
"prettier.config.js",
|
||||
".eslintrc.js",
|
||||
".browserslistrc",
|
||||
"vue-route-generator/lib/"
|
||||
],
|
||||
"license": "MIT",
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"registry": "https://registry.npmjs.org/"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "concurrently \"npm:dev:*\"",
|
||||
"dev:js": "run-s clean:dev:js && run-s build:js:lib && cross-env NODE_ENV=DEVELOPMENT nodemon scripts/rollup.config.es.all.js",
|
||||
"dev:css": "run-s icon && gulp -f ./scripts/gulpfile.js watch",
|
||||
"clean:dev:js": "rimraf dist/*.js && rimraf lib && rimraf es",
|
||||
"clean": "rimraf dist && rimraf lib && rimraf es",
|
||||
"icon": "node ./icon/svg-replace/index.js",
|
||||
"build:css": "run-s icon && gulp -f ./scripts/gulpfile-tax.js && gulp -f ./scripts/gulpfile-enterprise.js",
|
||||
"build:js": "run-s build:js:*",
|
||||
"build:js:lib": "vue-cli-service build --target lib --formats commonjs --name index --dest lib --no-clean src/index.js",
|
||||
"build:js:dist": "vue-cli-service build --target lib --formats umd-min,umd --name index --dest dist --no-clean src/index.js",
|
||||
"build:js:es": "node scripts/rollup.config.es.all.js",
|
||||
"build": "run-s clean && run-s build:*",
|
||||
"gulp:tax": "gulp -f ./scripts/gulpfile-tax.js",
|
||||
"gulp:ent": "gulp -f ./scripts/gulpfile-enterprise.js",
|
||||
"lint": "vue-cli-service lint",
|
||||
"lint:style": "vue-cli-service lint:style"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": "4.1.1",
|
||||
"child_process": "^1.0.2",
|
||||
"chokidar": "^3.5.2",
|
||||
"globby": "11.0.3",
|
||||
"lodash-es": "^4.17.21",
|
||||
"modify-source-webpack-plugin": "^3.0.0",
|
||||
"qs": "^6.10.1",
|
||||
"splitpanes": "2.3.8",
|
||||
"vue-route-generator": "^0.3.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.13.16",
|
||||
"@babel/generator": "^7.16.5",
|
||||
"@babel/parser": "^7.16.6",
|
||||
"@babel/plugin-transform-runtime": "^7.14.5",
|
||||
"@babel/traverse": "^7.16.5",
|
||||
"@rollup/plugin-babel": "^5.3.0",
|
||||
"@rollup/plugin-commonjs": "^19.0.0",
|
||||
"@rollup/plugin-eslint": "^8.0.1",
|
||||
"@rollup/plugin-json": "^4.1.0",
|
||||
"@rollup/plugin-node-resolve": "^13.0.0",
|
||||
"@rollup/plugin-replace": "^2.4.2",
|
||||
"@samhammer/vue-cli-plugin-stylelint": "^2.0.1",
|
||||
"@vue/cli-plugin-babel": "~4.5.0",
|
||||
"@vue/cli-plugin-eslint": "~4.5.0",
|
||||
"@vue/cli-plugin-router": "~4.5.0",
|
||||
"@vue/cli-plugin-vuex": "~4.5.0",
|
||||
"@vue/cli-service": "~4.5.0",
|
||||
"@vue/compiler-sfc": "^3.0.11",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"clean-css": "^5.1.2",
|
||||
"concurrently": "^6.0.2",
|
||||
"cross-env": "^7.0.3",
|
||||
"crypto": "^1.0.1",
|
||||
"css-properties-sorting": "^1.0.10",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-config-airbnb-base": "^14.2.1",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint-import-resolver-alias": "^1.1.2",
|
||||
"eslint-plugin-prettier": "^3.3.1",
|
||||
"esprima": "^4.0.1",
|
||||
"esquery": "^1.4.0",
|
||||
"fs-extra": "^10.0.0",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-autoprefixer": "^7.0.1",
|
||||
"gulp-clean": "^0.4.0",
|
||||
"gulp-concat": "^2.6.1",
|
||||
"gulp-less": "^4.0.1",
|
||||
"gulp-minify-css": "^1.2.4",
|
||||
"gulp-rename": "^2.0.0",
|
||||
"gulp-replace": "^1.0.0",
|
||||
"html5parser": "^2.0.2",
|
||||
"nodemon": "^2.0.7",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prepend-file": "^2.0.0",
|
||||
"prettier": "^2.3.2",
|
||||
"rimraf": "^3.0.2",
|
||||
"rollup": "^2.45.2",
|
||||
"rollup-plugin-css-only": "^3.1.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.4",
|
||||
"rollup-plugin-terser": "^7.0.2",
|
||||
"rollup-plugin-uglify": "^6.0.4",
|
||||
"rollup-plugin-vue": "^5.1.9",
|
||||
"stylelint": "^13.12.0",
|
||||
"stylelint-config-prettier": "^8.0.2",
|
||||
"stylelint-config-tencent": "1.0.0",
|
||||
"terser-webpack-plugin": "4.2.3",
|
||||
"vue-cli-plugin-style-resources-loader": "~0.1.5",
|
||||
"vue-template-compiler": "~2.6.11"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"axios": "^0.21.1",
|
||||
"core-js": "^3.6.5",
|
||||
"dayjs": "^1.10.4",
|
||||
"lodash-es": "^4.17.21",
|
||||
"tdesign-icons-vue": "0.0.8",
|
||||
"tdesign-vue": "1.4.0",
|
||||
"vue": "~2.6.11",
|
||||
"vue-router": "^3.2.0",
|
||||
"vuex": "^3.4.0"
|
||||
},
|
||||
"gitHead": "a94a31d6bdc9e21bbdf0f039ad84b349d6e1feae"
|
||||
}
|
||||
143
local-nodemodules/@gtff/tdesign-gt-vue/plugins/auto-router.js
Normal file
143
local-nodemodules/@gtff/tdesign-gt-vue/plugins/auto-router.js
Normal file
@ -0,0 +1,143 @@
|
||||
const path = require('path');
|
||||
const chalk = require('chalk');
|
||||
const fs = require('fs-extra');
|
||||
const assert = require('assert');
|
||||
const globby = require('globby'); // 不知是不是有兼容问题,11.0.3就正常,最新版本 11.0.4 使用模糊匹配查找不到目录
|
||||
const chokidar = require('chokidar');
|
||||
const fsExtra = require('fs-extra');
|
||||
const childProcess = require('child_process');
|
||||
const { CLIEngine } = require('eslint');
|
||||
const vueRouteGenerator = require('../vue-route-generator/lib/index');
|
||||
// 0.3.3 路由生成名称是驼峰命名方式
|
||||
const pluginName = 'autoRouterPlugin';
|
||||
class autoRouterPlugin {
|
||||
constructor(options) {
|
||||
this.options = {
|
||||
importPrefix: '../views/',
|
||||
routerPath: '../router/routes.js',
|
||||
dynamicImport: true,
|
||||
autoTemplates: true,
|
||||
...options,
|
||||
};
|
||||
assert(options, chalk.red.bold(`${pluginName} options is required!!!`));
|
||||
assert(options.pages, chalk.red.bold(`${pluginName} options.pages is required!!!`));
|
||||
this.watch = null;
|
||||
this.cli = new CLIEngine({
|
||||
fix: true,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化path添加/斜杠
|
||||
* @param {*} code
|
||||
* @returns
|
||||
*/
|
||||
// eslint-disable-next-line class-methods-use-this
|
||||
toHump(code) {
|
||||
return code.replace(/path: '/g, "path: '/");
|
||||
// return code.replace(/\(\w)_(\w)/g, (all, letter) => letter.toUpperCase());
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过 generateRoutes加载路由
|
||||
*/
|
||||
async loadRouter() {
|
||||
const pages = await globby(this.options.pages, { onlyFiles: false });
|
||||
Array.isArray(pages) &&
|
||||
pages.forEach((page) => {
|
||||
const pageName = path.basename(path.dirname(page));
|
||||
const code = vueRouteGenerator.generateRoutes({
|
||||
pages: page,
|
||||
importPrefix: this.options.importPrefix,
|
||||
dynamicImport: this.options.dynamicImport,
|
||||
nested: true,
|
||||
});
|
||||
const result = this.cli.executeOnText(code).results || [];
|
||||
const fileContent = result[0].output || '';
|
||||
const content = this.toHump(fileContent.replace(/: "((\w|-)+)\\"/gm, `: "${pageName}-$1"`));
|
||||
const to = path.resolve(page, this.options.routerPath);
|
||||
if (fs.existsSync(to) && fs.readFileSync(to, 'utf-8').trim() === content.trim()) {
|
||||
return;
|
||||
}
|
||||
if (!fs.existsSync(to)) fs.ensureFileSync(to);
|
||||
fs.writeFileSync(to, content);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 复制模版
|
||||
* @param {String} toPath
|
||||
*/
|
||||
copyTemplate(toPath) {
|
||||
fsExtra.copy('./mock/templates/', toPath);
|
||||
this.loadRouter();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加文件监听事件
|
||||
*/
|
||||
addFile() {
|
||||
this.loadRouter();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加文件目录
|
||||
* @param {String} dir
|
||||
*/
|
||||
addDir(dir) {
|
||||
fs.readdir(dir, (err, files) => {
|
||||
if (!files.length && this.options.autoTemplates) {
|
||||
this.copyTemplate(dir);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文件
|
||||
*/
|
||||
rmeoveFile() {
|
||||
this.loadRouter();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文件目录
|
||||
*/
|
||||
removeDir() {
|
||||
this.loadRouter();
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册事件监听
|
||||
*/
|
||||
registerWatch() {
|
||||
if (!this.watcher) {
|
||||
this.watcher = chokidar.watch('./src/pages/', {
|
||||
ignored: /router|store|api|assets|components|css|style|styles$/g,
|
||||
});
|
||||
this.watcher.on('addDir', (dir) => {
|
||||
this.addDir(dir);
|
||||
});
|
||||
this.watcher.on('add', (e, f = {}) => {
|
||||
if (e.indexOf('routes.js') >= 0) return;
|
||||
!f.size && this.loadRouter();
|
||||
});
|
||||
this.watcher.on('unlinkDir', () => {
|
||||
this.loadRouter();
|
||||
});
|
||||
this.watcher.on('unlink', () => {
|
||||
this.loadRouter();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async apply(compiler) {
|
||||
const { mode = 'development' } = compiler.options;
|
||||
compiler.hooks.done.tap(pluginName, (compilation) => {
|
||||
console.log('====>> 自动路由使用中...');
|
||||
this.loadRouter(compilation);
|
||||
// 本地运行才启动文件变化监听
|
||||
mode === 'development' && this.registerWatch();
|
||||
});
|
||||
}
|
||||
}
|
||||
module.exports = autoRouterPlugin;
|
||||
39
local-nodemodules/@gtff/tdesign-gt-vue/prettier.config.js
Normal file
39
local-nodemodules/@gtff/tdesign-gt-vue/prettier.config.js
Normal file
@ -0,0 +1,39 @@
|
||||
module.exports = {
|
||||
// 一行最多 120 字符
|
||||
printWidth: 120,
|
||||
// 使用 2 个空格缩进
|
||||
tabWidth: 2,
|
||||
// 不使用缩进符,而使用空格
|
||||
useTabs: false,
|
||||
// 行尾需要有分号
|
||||
semi: true,
|
||||
// 使用单引号
|
||||
singleQuote: true,
|
||||
// 对象的 key 仅在必要时用引号
|
||||
quoteProps: 'as-needed',
|
||||
// jsx 不使用单引号,而使用双引号
|
||||
jsxSingleQuote: false,
|
||||
// 末尾需要有逗号
|
||||
trailingComma: 'all',
|
||||
// 大括号内的首尾需要空格
|
||||
bracketSpacing: true,
|
||||
// jsx 标签的反尖括号需要换行
|
||||
jsxBracketSameLine: false,
|
||||
// 箭头函数,只有一个参数的时候,也需要括号
|
||||
arrowParens: 'always',
|
||||
// 每个文件格式化的范围是文件的全部内容
|
||||
rangeStart: 0,
|
||||
rangeEnd: Infinity,
|
||||
// 不需要写文件开头的 @prettier
|
||||
requirePragma: false,
|
||||
// 不需要自动在文件开头插入 @prettier
|
||||
insertPragma: false,
|
||||
// 使用默认的折行标准
|
||||
proseWrap: 'preserve',
|
||||
// 根据显示样式决定 html 要不要折行
|
||||
htmlWhitespaceSensitivity: 'css',
|
||||
// vue 文件中的 script 和 style 内不用缩进
|
||||
vueIndentScriptAndStyle: false,
|
||||
// 换行符使用 lf
|
||||
endOfLine: 'lf',
|
||||
};
|
||||
192
local-nodemodules/@gtff/tdesign-gt-vue/stylelint.config.js
Normal file
192
local-nodemodules/@gtff/tdesign-gt-vue/stylelint.config.js
Normal file
@ -0,0 +1,192 @@
|
||||
module.exports = {
|
||||
// processors: ['stylelint-processor-html'],
|
||||
extends: ['stylelint-config-tencent', 'css-properties-sorting', 'stylelint-config-prettier'],
|
||||
plugins: ['stylelint-order'], // stylelint-order是CSS属性排序插件
|
||||
rules: {
|
||||
// "color-hex-case": "lower", // 颜色值为小写字母(stylelint-config-standard)
|
||||
// "color-no-invalid-hex": true, // 颜色值不能为无效值(stylelint-config-standard)
|
||||
'font-family-name-quotes': 'always-where-recommended', // 字体系列中命名时带引号
|
||||
'function-url-quotes': 'always', // 地址一定要写引号
|
||||
// 'number-leading-zero': 'never', // 或分数低于1的数字是否需要前导零
|
||||
'number-no-trailing-zeros': true, // 禁止在数量尾随零
|
||||
// 'string-quotes': 'double', // 指定字串
|
||||
'length-zero-no-unit': true, // 禁止单位零长度。
|
||||
'value-keyword-case': 'lower', // 指定小写关键字的值
|
||||
'value-list-comma-newline-after': 'always-multi-line', // 在值列表的逗号后指定一个换行符或禁止留有空格
|
||||
'shorthand-property-no-redundant-values': true, // 不允许在简写属性冗余值
|
||||
// "property-case": "lower", // 为属性指定小写(stylelint-config-standard)
|
||||
'keyframe-declaration-no-important': true, // 不允许!important在关键帧声明
|
||||
// "block-closing-brace-empty-line-before": "never", // 不允许关闭括号前空一行(stylelint-config-standard)
|
||||
// "block-closing-brace-newline-after": "always", // 需要一个换行符关闭括号后的空白(stylelint-config-standard)
|
||||
// "block-opening-brace-newline-after": "always-multi-line", // 开括号的块之后需要新的一行(stylelint-config-standard)
|
||||
'selector-class-pattern': "^[a-z]+([a-z0-9]?|[a-z0-9(-_'% ]*[a-z0-9)])$", // 兼容stylelint的bug(less的mixin没处理好), 暂时先这样处理~~~指定一个模式类选择符,限制选择器名称写法
|
||||
'selector-id-pattern': "^[a-z]+([a-z0-9]?|[a-z0-9(-_'% ]*[a-z0-9)])$", // 兼容stylelint的bug(less的mixin没处理好), 暂时先这样处理~~~指定一个模式,id选择器,限制选择器名称写法
|
||||
'no-empty-source': null, // 不允许空的来源
|
||||
'at-rule-no-unknown': null, // 不允许at-rules不明
|
||||
// "indentation": 2, // 指定缩进(stylelint-config-standard)
|
||||
'max-nesting-depth': [5, { severity: 'warning' }], // 允许嵌套的深度为5
|
||||
'no-duplicate-selectors': true, // 不允许重复的选择器
|
||||
// "no-eol-whitespace": true, // 不允许行尾空白(stylelint-config-standard)
|
||||
// "no-invalid-double-slash-comments": true // 不允许双斜杠注释(/ /…)不支持CSS(stylelint-config-standard)
|
||||
'order/order': [
|
||||
// 指定声明块内的内容顺序
|
||||
['custom-properties', 'declarations'],
|
||||
],
|
||||
// "declaration-block-properties-order": "alphabetical",
|
||||
'order/properties-order': [
|
||||
// 指定声明块内属性的字母顺序
|
||||
'position',
|
||||
'top',
|
||||
'right',
|
||||
'bottom',
|
||||
'left',
|
||||
'z-index',
|
||||
'display',
|
||||
'float',
|
||||
'width',
|
||||
'height',
|
||||
'max-width',
|
||||
'max-height',
|
||||
'min-width',
|
||||
'min-height',
|
||||
'padding',
|
||||
'padding-top',
|
||||
'padding-right',
|
||||
'padding-bottom',
|
||||
'padding-left',
|
||||
'margin',
|
||||
'margin-top',
|
||||
'margin-right',
|
||||
'margin-bottom',
|
||||
'margin-left',
|
||||
'margin-collapse',
|
||||
'margin-top-collapse',
|
||||
'margin-right-collapse',
|
||||
'margin-bottom-collapse',
|
||||
'margin-left-collapse',
|
||||
'overflow',
|
||||
'overflow-x',
|
||||
'overflow-y',
|
||||
'clip',
|
||||
'clear',
|
||||
'font',
|
||||
'font-family',
|
||||
'font-size',
|
||||
'font-smoothing',
|
||||
'osx-font-smoothing',
|
||||
'font-style',
|
||||
'font-weight',
|
||||
'hyphens',
|
||||
'src',
|
||||
'line-height',
|
||||
'letter-spacing',
|
||||
'word-spacing',
|
||||
'color',
|
||||
'text-align',
|
||||
'text-decoration',
|
||||
'text-indent',
|
||||
'text-overflow',
|
||||
'text-rendering',
|
||||
'text-size-adjust',
|
||||
'text-shadow',
|
||||
'text-transform',
|
||||
'word-break',
|
||||
'word-wrap',
|
||||
'white-space',
|
||||
'vertical-align',
|
||||
'list-style',
|
||||
'list-style-type',
|
||||
'list-style-position',
|
||||
'list-style-image',
|
||||
'pointer-events',
|
||||
'cursor',
|
||||
'background',
|
||||
'background-attachment',
|
||||
'background-color',
|
||||
'background-image',
|
||||
'background-position',
|
||||
'background-repeat',
|
||||
'background-size',
|
||||
'border',
|
||||
'border-collapse',
|
||||
'border-top',
|
||||
'border-right',
|
||||
'border-bottom',
|
||||
'border-left',
|
||||
'border-color',
|
||||
'border-image',
|
||||
'border-top-color',
|
||||
'border-right-color',
|
||||
'border-bottom-color',
|
||||
'border-left-color',
|
||||
'border-spacing',
|
||||
'border-style',
|
||||
'border-top-style',
|
||||
'border-right-style',
|
||||
'border-bottom-style',
|
||||
'border-left-style',
|
||||
'border-width',
|
||||
'border-top-width',
|
||||
'border-right-width',
|
||||
'border-bottom-width',
|
||||
'border-left-width',
|
||||
'border-radius',
|
||||
'border-top-right-radius',
|
||||
'border-bottom-right-radius',
|
||||
'border-bottom-left-radius',
|
||||
'border-top-left-radius',
|
||||
'border-radius-topright',
|
||||
'border-radius-bottomright',
|
||||
'border-radius-bottomleft',
|
||||
'border-radius-topleft',
|
||||
'content',
|
||||
'quotes',
|
||||
'outline',
|
||||
'outline-offset',
|
||||
'opacity',
|
||||
'filter',
|
||||
'visibility',
|
||||
'size',
|
||||
'zoom',
|
||||
'transform',
|
||||
'box-align',
|
||||
'box-flex',
|
||||
'box-orient',
|
||||
'box-pack',
|
||||
'box-shadow',
|
||||
'box-sizing',
|
||||
'table-layout',
|
||||
'animation',
|
||||
'animation-delay',
|
||||
'animation-duration',
|
||||
'animation-iteration-count',
|
||||
'animation-name',
|
||||
'animation-play-state',
|
||||
'animation-timing-function',
|
||||
'animation-fill-mode',
|
||||
'transition',
|
||||
'transition-delay',
|
||||
'transition-duration',
|
||||
'transition-property',
|
||||
'transition-timing-function',
|
||||
'background-clip',
|
||||
'backface-visibility',
|
||||
'resize',
|
||||
'appearance',
|
||||
'user-select',
|
||||
'interpolation-mode',
|
||||
'direction',
|
||||
'marks',
|
||||
'page',
|
||||
'set-link-source',
|
||||
'unicode-bidi',
|
||||
'speak',
|
||||
],
|
||||
'selector-pseudo-element-no-unknown': [
|
||||
true,
|
||||
{
|
||||
ignorePseudoElements: ['v-deep'],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@ -0,0 +1,145 @@
|
||||
# vue-route-generator
|
||||
|
||||
[Vue Router](https://github.com/vuejs/vue-router) route config generator.
|
||||
|
||||
You may want to use [vue-auto-routing](https://github.com/ktsn/vue-auto-routing) for auto generating routing or [vue-cli-plugin-auto-routing](https://github.com/ktsn/vue-cli-plugin-auto-routing) which includes all useful features on routing.
|
||||
|
||||
## Overview
|
||||
|
||||
This tool generates a JavaScript code that exporting Vue Router's `routes` config by reading your Vue components directory.
|
||||
|
||||
For example, when you have following file structure:
|
||||
|
||||
```
|
||||
pages/
|
||||
├── index.vue
|
||||
├── users.vue
|
||||
└── users/
|
||||
└── _id.vue
|
||||
```
|
||||
|
||||
Then run the following script:
|
||||
|
||||
```js
|
||||
const { generateRoutes } = require('vue-route-generator')
|
||||
|
||||
const code = generateRoutes({
|
||||
pages: './pages' // Vue page component directory
|
||||
})
|
||||
|
||||
console.log(code)
|
||||
```
|
||||
|
||||
vue-route-generator will generate like the following code (beautified the indentations etc.):
|
||||
|
||||
```js
|
||||
export default [
|
||||
{
|
||||
name: 'index',
|
||||
path: '/',
|
||||
component: () => import('@/pages/index.vue')
|
||||
},
|
||||
{
|
||||
name: 'users',
|
||||
path: '/users',
|
||||
component: () => import('@/pages/users.vue'),
|
||||
children: [
|
||||
{
|
||||
name: 'users-id',
|
||||
path: ':id',
|
||||
component: () => import('@/pages/users/_id.vue')
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
You can save the code and include router instance:
|
||||
|
||||
```js
|
||||
const fs = require('fs')
|
||||
const { generateRoutes } = require('vue-route-generator')
|
||||
|
||||
const code = generateRoutes({
|
||||
pages: './pages'
|
||||
})
|
||||
|
||||
fs.writeFileSync('./router/routes.js', code)
|
||||
```
|
||||
|
||||
```js
|
||||
// router/index.js
|
||||
import Vue from 'vue'
|
||||
import Router from 'vue-router'
|
||||
|
||||
// import generated routes
|
||||
import routes from './routes'
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
export default new Router({
|
||||
routes
|
||||
})
|
||||
```
|
||||
|
||||
## Routing
|
||||
|
||||
The routing is inspired by [Nuxt routing](https://nuxtjs.org/guide/routing) and is implemented with the same functionality.
|
||||
|
||||
### Partials
|
||||
|
||||
Directories and files started and ended with `__` (two underscores, e.g. `__foo__.vue`) will be ignored. You can use them as partial components which will be used in some page components.
|
||||
|
||||
## Route Meta
|
||||
|
||||
If the components have `<route-meta>` custom block, its json content is passed to generated route meta.
|
||||
|
||||
For example, if `index.vue` has the following `<route-meta>` block:
|
||||
|
||||
```vue
|
||||
<route-meta>
|
||||
{
|
||||
"requiresAuth": true
|
||||
}
|
||||
</route-meta>
|
||||
|
||||
<template>
|
||||
<h1>Hello</h1>
|
||||
</template>
|
||||
```
|
||||
|
||||
The generated route config is like following:
|
||||
|
||||
```js
|
||||
module.exports = [
|
||||
{
|
||||
name: 'index',
|
||||
path: '/',
|
||||
component: () => import('@/pages/index.vue'),
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## References
|
||||
|
||||
### `generateRoutes(config: GenerateConfig): string`
|
||||
|
||||
`GenerateConfig` has the following properties:
|
||||
|
||||
- `pages`: Path to the directory that contains your page components.
|
||||
- `importPrefix`: A string that will be added to importing component path (default `@/pages/`).
|
||||
- `dynamicImport`: Use dynamic import expression (`import()`) to import component (default `true`).
|
||||
- `nested`: If `true`, generated route path will be always treated as nested. (e.g. will generate `path: 'foo'` rather than `path: '/foo'`)
|
||||
|
||||
## Related Projects
|
||||
|
||||
- [vue-cli-plugin-auto-routing](https://github.com/ktsn/vue-cli-plugin-auto-routing): Vue CLI plugin including auto pages and layouts resolution.
|
||||
- [vue-router-layout](https://github.com/ktsn/vue-router-layout): Lightweight layout resolver for Vue Router.
|
||||
- [vue-auto-routing](https://github.com/ktsn/vue-auto-routing): Generate Vue Router routing automatically.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
9
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/index.d.ts
vendored
Normal file
9
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/index.d.ts
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
export interface GenerateConfig {
|
||||
pages: string;
|
||||
importPrefix?: string;
|
||||
dynamicImport?: boolean;
|
||||
chunkNamePrefix?: string;
|
||||
nested?: boolean;
|
||||
patterns?: Array<string>;
|
||||
}
|
||||
export declare function generateRoutes({ pages, importPrefix, dynamicImport, chunkNamePrefix, nested, patterns }: GenerateConfig): string;
|
||||
@ -0,0 +1,19 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.generateRoutes = void 0;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const fg = require("fast-glob");
|
||||
const routes_1 = require("./template/routes");
|
||||
const resolve_1 = require("./resolve");
|
||||
function generateRoutes({ pages, importPrefix = '@/pages/', dynamicImport = true, chunkNamePrefix = '', nested = false, patterns = ['**/*.vue', '!**/__*__.vue', '!**/__*__/**', '!**/components/**'] }) {
|
||||
const pagePaths = fg.sync(patterns, {
|
||||
cwd: pages,
|
||||
onlyFiles: true,
|
||||
});
|
||||
const metaList = (0, resolve_1.resolveRoutePaths)(pagePaths, importPrefix, nested, (file) => {
|
||||
return fs.readFileSync(path.join(pages, file), 'utf8');
|
||||
});
|
||||
return (0, routes_1.createRoutes)(metaList, dynamicImport, chunkNamePrefix);
|
||||
}
|
||||
exports.generateRoutes = generateRoutes;
|
||||
5
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/nested-map.d.ts
vendored
Normal file
5
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/nested-map.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export interface NestedMap<T> {
|
||||
value?: T;
|
||||
children?: Map<string, NestedMap<T>>;
|
||||
}
|
||||
export declare function setToMap<T>(map: NestedMap<T>, path: string[], value: T): void;
|
||||
@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.setToMap = void 0;
|
||||
function setToMap(map, path, value) {
|
||||
const target = path.reduce((item, key) => {
|
||||
if (!item.children) {
|
||||
item.children = new Map();
|
||||
}
|
||||
let child = item.children.get(key);
|
||||
if (!child) {
|
||||
child = {};
|
||||
item.children.set(key, child);
|
||||
}
|
||||
return child;
|
||||
}, map);
|
||||
target.value = value;
|
||||
}
|
||||
exports.setToMap = setToMap;
|
||||
8
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/parse-sfc.d.ts
vendored
Normal file
8
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/parse-sfc.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
export interface ParseResult {
|
||||
customBlocks: CustomBlock[];
|
||||
}
|
||||
export interface CustomBlock {
|
||||
type: string;
|
||||
content: string;
|
||||
}
|
||||
export declare function parseSFC(code: string): ParseResult;
|
||||
@ -0,0 +1,24 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.parseSFC = void 0;
|
||||
function parseSFC(code) {
|
||||
try {
|
||||
const parserV2 = require('vue-template-compiler')
|
||||
.parseComponent;
|
||||
return parserV2(code, {
|
||||
pad: 'space',
|
||||
});
|
||||
}
|
||||
catch (_a) {
|
||||
try {
|
||||
const parserV3 = require('@vue/compiler-sfc').parse;
|
||||
return parserV3(code, {
|
||||
pad: 'space',
|
||||
}).descriptor;
|
||||
}
|
||||
catch (_b) {
|
||||
throw new Error('[vue-route-generator] Either "vue-template-compiler" or "@vue/compiler-sfc" is required.');
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.parseSFC = parseSFC;
|
||||
12
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/resolve.d.ts
vendored
Normal file
12
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/resolve.d.ts
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
export interface PageMeta {
|
||||
name: string;
|
||||
chunkName: string;
|
||||
specifier: string;
|
||||
path: string;
|
||||
pathSegments: string[];
|
||||
component: string;
|
||||
children?: PageMeta[];
|
||||
routeMeta?: any;
|
||||
route?: any;
|
||||
}
|
||||
export declare function resolveRoutePaths(paths: string[], importPrefix: string, nested: boolean, readFile: (path: string) => string): PageMeta[];
|
||||
@ -0,0 +1,177 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.resolveRoutePaths = void 0;
|
||||
const nested_map_1 = require("./nested-map");
|
||||
const parse_sfc_1 = require("./parse-sfc");
|
||||
const routeMetaName = 'route-meta';
|
||||
const routeBlockName = 'route';
|
||||
function resolveRoutePaths(paths, importPrefix, nested, readFile) {
|
||||
const map = {};
|
||||
const splitted = paths.map((p) => p.split('/'));
|
||||
splitted.forEach((path) => {
|
||||
(0, nested_map_1.setToMap)(map, pathToMapPath(path), path);
|
||||
});
|
||||
const schema = pathMapToMeta(map, importPrefix, nested, readFile);
|
||||
return mergeComponent(schema);
|
||||
}
|
||||
exports.resolveRoutePaths = resolveRoutePaths;
|
||||
function mergeComponent(schema) {
|
||||
return schema.map(item => {
|
||||
var _a, _b;
|
||||
const component = ((_a = item.route) === null || _a === void 0 ? void 0 : _a.component) || ((_b = item.routeMeta) === null || _b === void 0 ? void 0 : _b.component);
|
||||
if (component) {
|
||||
return Object.assign(Object.assign({}, item), { component: component || '' });
|
||||
}
|
||||
else {
|
||||
return item;
|
||||
}
|
||||
});
|
||||
}
|
||||
function pathMapToMeta(map, importPrefix, nested, readFile, parentDepth = 0) {
|
||||
if (map.value) {
|
||||
const path = map.value;
|
||||
const meta = {
|
||||
name: pathToName(path),
|
||||
chunkName: pathToChunkName(path),
|
||||
specifier: pathToSpecifier(path),
|
||||
path: pathToRoute(path, parentDepth, nested),
|
||||
pathSegments: toActualPath(path),
|
||||
component: importPrefix + path.join('/'),
|
||||
};
|
||||
const content = readFile(path.join('/'));
|
||||
const parsed = (0, parse_sfc_1.parseSFC)(content);
|
||||
const routeMetaBlock = parsed.customBlocks.find((b) => b.type === routeMetaName);
|
||||
const routeBlock = parsed.customBlocks.find((b) => b.type === routeBlockName);
|
||||
// Deprecated. Will be removed in a later version
|
||||
if (routeMetaBlock) {
|
||||
// console.warn(
|
||||
// '<route-meta> custom block is deprecated. Use <route> block instead. Found in ' +
|
||||
// path.join('/')
|
||||
// )
|
||||
meta.routeMeta = tryParseCustomBlock(routeMetaBlock.content, path, 'route-meta');
|
||||
}
|
||||
if (routeBlock) {
|
||||
meta.route = tryParseCustomBlock(routeBlock.content, path, 'route');
|
||||
}
|
||||
if (map.children) {
|
||||
meta.children = pathMapChildrenToMeta(map.children, importPrefix, nested, readFile, meta.pathSegments.length);
|
||||
}
|
||||
return [meta];
|
||||
}
|
||||
return map.children
|
||||
? pathMapChildrenToMeta(map.children, importPrefix, nested, readFile, parentDepth)
|
||||
: [];
|
||||
}
|
||||
function routePathComparator(a, b) {
|
||||
const a0 = a[0];
|
||||
const b0 = b[0];
|
||||
if (!a0 || !b0) {
|
||||
return a.length - b.length;
|
||||
}
|
||||
const aOrder = isDynamicRoute(a0) ? 1 : 0;
|
||||
const bOrder = isDynamicRoute(b0) ? 1 : 0;
|
||||
const order = aOrder - bOrder;
|
||||
return order !== 0 ? order : routePathComparator(a.slice(1), b.slice(1));
|
||||
}
|
||||
function pathMapChildrenToMeta(children, importPrefix, nested, readFile, parentDepth) {
|
||||
return Array.from(children.values())
|
||||
.reduce((acc, value) => {
|
||||
return acc.concat(pathMapToMeta(value, importPrefix, nested, readFile, parentDepth));
|
||||
}, [])
|
||||
.sort((a, b) => {
|
||||
// Prioritize static routes than dynamic routes
|
||||
return routePathComparator(a.pathSegments, b.pathSegments);
|
||||
});
|
||||
}
|
||||
function tryParseCustomBlock(content, filePath, blockName) {
|
||||
try {
|
||||
return JSON.parse(content);
|
||||
}
|
||||
catch (err) {
|
||||
const joinedPath = filePath.join('/');
|
||||
const wrapped = new Error(`Invalid json format of <${blockName}> content in ${joinedPath}\n` +
|
||||
err);
|
||||
// Store file path to provide useful information to downstream tools
|
||||
// like friendly-errors-webpack-plugin
|
||||
wrapped.file = joinedPath;
|
||||
throw wrapped;
|
||||
}
|
||||
}
|
||||
function isDynamicRoute(segment) {
|
||||
return segment[0] === ':';
|
||||
}
|
||||
function isOmittable(segment) {
|
||||
return segment === 'index';
|
||||
}
|
||||
/**
|
||||
* - Remove `.vue` from the last path
|
||||
* - Omit if the last segument is `index`
|
||||
* - Convert dynamic route to `:param` format
|
||||
*/
|
||||
function toActualPath(segments) {
|
||||
const lastIndex = segments.length - 1;
|
||||
const last = basename(segments[lastIndex]);
|
||||
segments = segments.slice(0, -1).concat(last);
|
||||
return segments
|
||||
.map((s, i) => {
|
||||
if (s[0] === '_') {
|
||||
const suffix = lastIndex === i ? '?' : '';
|
||||
return ':' + s.slice(1) + suffix;
|
||||
}
|
||||
else {
|
||||
return s;
|
||||
}
|
||||
})
|
||||
.filter((s) => !isOmittable(s));
|
||||
}
|
||||
function pathToMapPath(segments) {
|
||||
const last = segments[segments.length - 1];
|
||||
return segments.slice(0, -1).concat(basename(last));
|
||||
}
|
||||
function pathToName(segments) {
|
||||
const last = segments[segments.length - 1];
|
||||
segments = segments
|
||||
.slice(0, -1)
|
||||
.concat(basename(last))
|
||||
.filter((s) => !isOmittable(s));
|
||||
if (segments.length === 0) {
|
||||
return 'index';
|
||||
}
|
||||
return segments
|
||||
.map((s) => {
|
||||
return s[0] === '_' ? s.slice(1) : s;
|
||||
})
|
||||
.join('-');
|
||||
}
|
||||
function pathToChunkName(segments) {
|
||||
const last = segments[segments.length - 1];
|
||||
segments = segments.slice(0, -1).concat(basename(last));
|
||||
return segments
|
||||
.map((s) => {
|
||||
return s[0] === '_' ? s.slice(1) : s;
|
||||
})
|
||||
.join('-');
|
||||
}
|
||||
function toHump(name) {
|
||||
return name.replace(/\-(\w)/g, function (all, letter) {
|
||||
all.valueOf();
|
||||
return letter.toUpperCase();
|
||||
});
|
||||
}
|
||||
function pathToSpecifier(segments) {
|
||||
const last = segments[segments.length - 1];
|
||||
segments = segments.slice(0, -1).concat(basename(last));
|
||||
return toHump(segments
|
||||
.map((s) => {
|
||||
return s[0] === '_' ? s.slice(1) : s;
|
||||
})
|
||||
.join('-'));
|
||||
}
|
||||
function pathToRoute(segments, parentDepth, nested) {
|
||||
const prefix = nested || parentDepth > 0 ? '' : '/';
|
||||
// return prefix + toActualPath(segments).slice(parentDepth).join('/')
|
||||
return prefix + toActualPath(segments).join('/');
|
||||
}
|
||||
function basename(filename) {
|
||||
return filename.replace(/\.[^.]+$/g, '');
|
||||
}
|
||||
2
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/template/routes.d.ts
vendored
Normal file
2
local-nodemodules/@gtff/tdesign-gt-vue/vue-route-generator/lib/template/routes.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import { PageMeta } from '../resolve';
|
||||
export declare function createRoutes(meta: PageMeta[], dynamic: boolean, chunkNamePrefix: string): string;
|
||||
@ -0,0 +1,56 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createRoutes = void 0;
|
||||
const prettier = require("prettier");
|
||||
function isAllowedRouteOption(key) {
|
||||
return !['name', 'meta', 'path', 'component'].includes(key);
|
||||
}
|
||||
function createChildrenRoute(children) {
|
||||
return `,children: [${children.map(createRoute).join(',')}]`;
|
||||
}
|
||||
function createRoute(meta) {
|
||||
var _a, _b, _c;
|
||||
const children = !meta.children ? '' : createChildrenRoute(meta.children);
|
||||
const route = (_a = meta.route) !== null && _a !== void 0 ? _a : {};
|
||||
// If default child is exists, the route should not have a name.
|
||||
const routeName = meta.children && meta.children.some((m) => m.path === '')
|
||||
? ''
|
||||
: `name: '${(_b = route.name) !== null && _b !== void 0 ? _b : meta.name}',`;
|
||||
const routeMeta = meta.routeMeta
|
||||
? ',meta: ' + JSON.stringify(meta.routeMeta, null, 2)
|
||||
: ((_c = meta.route) === null || _c === void 0 ? void 0 : _c.meta)
|
||||
? ',meta: ' + JSON.stringify(route.meta, null, 2)
|
||||
: '';
|
||||
const otherOptions = Object.keys(route)
|
||||
.filter(isAllowedRouteOption)
|
||||
.map((key) => `,${key}: ${JSON.stringify(route[key])}`)
|
||||
.join(',');
|
||||
return `
|
||||
{
|
||||
${routeName}
|
||||
path: '${meta.path}',
|
||||
component: ${meta.specifier}${routeMeta}${otherOptions}${children}
|
||||
}`;
|
||||
}
|
||||
function createImport(meta, dynamic, chunkNamePrefix) {
|
||||
const code = dynamic
|
||||
? `function ${meta.specifier}() { return import(/* webpackChunkName: "${chunkNamePrefix}${meta.chunkName}" */ '${meta.component}') };`
|
||||
: `import ${meta.specifier} from '${meta.component}';`;
|
||||
return meta.children
|
||||
? [code]
|
||||
.concat(meta.children.map((child) => createImport(child, dynamic, chunkNamePrefix)))
|
||||
.join('\n')
|
||||
: code;
|
||||
}
|
||||
function createRoutes(meta, dynamic, chunkNamePrefix) {
|
||||
const imports = meta
|
||||
.map((m) => createImport(m, dynamic, chunkNamePrefix))
|
||||
.join('\n');
|
||||
const code = meta.map(createRoute).join(',');
|
||||
return prettier.format(`${imports}\n\nexport default [${code}];`, {
|
||||
parser: 'babel',
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
});
|
||||
}
|
||||
exports.createRoutes = createRoutes;
|
||||
@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "vue-route-generator",
|
||||
"version": "0.3.3",
|
||||
"author": "katashin",
|
||||
"description": "Vue Router route config generator",
|
||||
"keywords": [
|
||||
"Vue",
|
||||
"Vue Router",
|
||||
"routing",
|
||||
"generator"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"typings": "lib/index.d.ts",
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"homepage": "https://github.com/ktsn/vue-route-generator",
|
||||
"bugs": "https://github.com/ktsn/vue-route-generator/issues",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ktsn/vue-route-generator.git"
|
||||
},
|
||||
"scripts": {
|
||||
"prepublishOnly": "npm run clean && npm run test && npm run build",
|
||||
"clean": "rm -rf lib",
|
||||
"build": "tsc -p src",
|
||||
"dev": "jest --watch",
|
||||
"lint": "tslint -p . && prettier --list-different \"{src,scripts,test}/**/*.{js,ts}\"",
|
||||
"format": "prettier --write \"{src,scripts,test}/**/*.{js,ts}\"",
|
||||
"test": "npm run lint && npm run test:unit",
|
||||
"test:unit": "jest"
|
||||
},
|
||||
"jest": {
|
||||
"transform": {
|
||||
"^.+\\.ts$": "ts-jest"
|
||||
},
|
||||
"testRegex": "/test/.+\\.spec\\.(js|ts)$",
|
||||
"moduleFileExtensions": [
|
||||
"ts",
|
||||
"js",
|
||||
"json"
|
||||
],
|
||||
"globals": {
|
||||
"ts-jest": {
|
||||
"tsConfigFile": "test/tsconfig.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^26.0.19",
|
||||
"@types/node": "^15.12.1",
|
||||
"@types/prettier": "^2.1.6",
|
||||
"@vue/compiler-sfc": "^3.0.5",
|
||||
"jest": "^26.6.3",
|
||||
"ts-jest": "^26.4.4",
|
||||
"tslint": "^6.1.3",
|
||||
"tslint-config-ktsn": "^2.1.0",
|
||||
"tslint-config-prettier": "^1.18.0",
|
||||
"typescript": "^4.1.3",
|
||||
"vue": "^3.0.5",
|
||||
"vue-template-compiler": "^2.6.12"
|
||||
},
|
||||
"dependencies": {
|
||||
"fast-glob": "^3.2.4",
|
||||
"prettier": "2.2.1"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user