Commit daf2b1e095318d77b733a60eeca435f75652add3

Authored by vben
1 parent 47f72e7e

wip: suppoer vite2 -- hack xlsx

build/script/hackXlsx.ts 0 → 100644
  1 +import fs from 'fs';
  2 +
  3 +import path from 'path';
  4 +
  5 +// Because xlsx internally references the node module, the pre-optimization of vite2.0 fails. Since the node module inside xlsx is not used on the web side, all the code that uses the node module is replaced with `{}` to be compatible with'vite2'
  6 +function replaceCjs() {
  7 + const xlsx = path.resolve(process.cwd(), 'node_modules/xlsx/xlsx.js');
  8 + let raw = fs.readFileSync(xlsx, 'utf-8');
  9 +
  10 + raw = raw
  11 + .replace(`require('fs')`, '{}')
  12 + .replace(`require('stream')`, '{}')
  13 + .replace(`require('crypto')`, '{}');
  14 + fs.writeFileSync(xlsx, raw);
  15 +}
  16 +
  17 +replaceCjs();
... ...
package.json
... ... @@ -15,7 +15,9 @@
15 15 "lint:eslint": "eslint --fix --ext \"src/**/*.{vue,less,css,scss}\"",
16 16 "lint:prettier": "prettier --write --loglevel warn \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\"",
17 17 "lint:stylelint": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
18   - "reinstall": "rimraf yarn.lock && rimraf package.lock.json && rimraf node_modules && npm run bootstrap"
  18 + "reinstall": "rimraf yarn.lock && rimraf package.lock.json && rimraf node_modules && npm run bootstrap",
  19 + "hack-esm:xlsx": "esno ./build/script/hackXlsx",
  20 + "postinstall": "npm run hack-esm:xlsx"
19 21 },
20 22 "dependencies": {
21 23 "@iconify/iconify": "^2.0.0-rc.5",
... ... @@ -39,6 +41,7 @@
39 41 "vue-types": "^3.0.1",
40 42 "vuex": "^4.0.0-rc.2",
41 43 "vuex-module-decorators": "^1.0.1",
  44 + "xlsx": "^0.16.9",
42 45 "zxcvbn": "^4.4.2"
43 46 },
44 47 "devDependencies": {
... ... @@ -61,8 +64,8 @@
61 64 "@types/zxcvbn": "^4.4.0",
62 65 "@typescript-eslint/eslint-plugin": "^4.12.0",
63 66 "@typescript-eslint/parser": "^4.12.0",
64   - "@vitejs/plugin-legacy": "^1.1.0",
65   - "@vitejs/plugin-vue": "^1.0.4",
  67 + "@vitejs/plugin-legacy": "^1.1.1",
  68 + "@vitejs/plugin-vue": "^1.0.5",
66 69 "@vitejs/plugin-vue-jsx": "^1.0.1",
67 70 "@vue/compiler-sfc": "^3.0.5",
68 71 "@vuedx/typecheck": "^0.4.1",
... ... @@ -95,7 +98,7 @@
95 98 "stylelint-order": "^4.1.0",
96 99 "ts-node": "^9.1.0",
97 100 "typescript": "^4.1.3",
98   - "vite": "^2.0.0-beta.15",
  101 + "vite": "^2.0.0-beta.16",
99 102 "vite-plugin-html": "^2.0.0-beta.5",
100 103 "vite-plugin-import-context": "^1.0.0-rc.1",
101 104 "vite-plugin-mock": "^2.0.0-beta.1",
... ...
src/router/helper/routeHelper.ts
... ... @@ -12,10 +12,11 @@ const LayoutMap = new Map<LayoutMapKey, () => Promise<typeof import('*.vue')>>()
12 12 // 动态引入
13 13 function asyncImportRoute(routes: AppRouteRecordRaw[] | undefined) {
14 14 // TODO Because xlsx does not support vite2.0 temporarily. So filter the excel example first
  15 + // regexp: /^(?!.*\/demo\/excel).*\.(tsx?|vue)$/,
15 16 const dynamicViewsModules = importContext({
16 17 dir: '/@/views',
17 18 deep: true,
18   - regexp: /^(?!.*\/demo\/excel).*\.(tsx?|vue)$/,
  19 + regexp: /\.(tsx?|vue)$/,
19 20 dynamicImport: true,
20 21 dynamicEnabled: 'autoImportRoute',
21 22 });
... ...
src/router/routes/modules/demo/feat.ts
... ... @@ -172,51 +172,51 @@ const feat: AppRouteModule = {
172 172 title: t('routes.demo.feat.errorLog'),
173 173 },
174 174 },
175   - // {
176   - // path: 'excel',
177   - // name: 'Excel',
178   - // redirect: '/feat/excel/customExport',
179   - // component: getParentLayout('Excel'),
180   - // meta: {
181   - // // icon: 'mdi:microsoft-excel',
182   - // title: t('routes.demo.excel.excel'),
183   - // },
  175 + {
  176 + path: 'excel',
  177 + name: 'Excel',
  178 + redirect: '/feat/excel/customExport',
  179 + component: getParentLayout('Excel'),
  180 + meta: {
  181 + // icon: 'mdi:microsoft-excel',
  182 + title: t('routes.demo.excel.excel'),
  183 + },
184 184  
185   - // children: [
186   - // {
187   - // path: 'customExport',
188   - // name: 'CustomExport',
189   - // component: () => import('/@/views/demo/excel/CustomExport.vue'),
190   - // meta: {
191   - // title: t('routes.demo.excel.customExport'),
192   - // },
193   - // },
194   - // {
195   - // path: 'jsonExport',
196   - // name: 'JsonExport',
197   - // component: () => import('/@/views/demo/excel/JsonExport.vue'),
198   - // meta: {
199   - // title: t('routes.demo.excel.jsonExport'),
200   - // },
201   - // },
202   - // {
203   - // path: 'arrayExport',
204   - // name: 'ArrayExport',
205   - // component: () => import('/@/views/demo/excel/ArrayExport.vue'),
206   - // meta: {
207   - // title: t('routes.demo.excel.arrayExport'),
208   - // },
209   - // },
210   - // {
211   - // path: 'importExcel',
212   - // name: 'ImportExcel',
213   - // component: () => import('/@/views/demo/excel/ImportExcel.vue'),
214   - // meta: {
215   - // title: t('routes.demo.excel.importExcel'),
216   - // },
217   - // },
218   - // ],
219   - // },
  185 + children: [
  186 + {
  187 + path: 'customExport',
  188 + name: 'CustomExport',
  189 + component: () => import('/@/views/demo/excel/CustomExport.vue'),
  190 + meta: {
  191 + title: t('routes.demo.excel.customExport'),
  192 + },
  193 + },
  194 + {
  195 + path: 'jsonExport',
  196 + name: 'JsonExport',
  197 + component: () => import('/@/views/demo/excel/JsonExport.vue'),
  198 + meta: {
  199 + title: t('routes.demo.excel.jsonExport'),
  200 + },
  201 + },
  202 + {
  203 + path: 'arrayExport',
  204 + name: 'ArrayExport',
  205 + component: () => import('/@/views/demo/excel/ArrayExport.vue'),
  206 + meta: {
  207 + title: t('routes.demo.excel.arrayExport'),
  208 + },
  209 + },
  210 + {
  211 + path: 'importExcel',
  212 + name: 'ImportExcel',
  213 + component: () => import('/@/views/demo/excel/ImportExcel.vue'),
  214 + meta: {
  215 + title: t('routes.demo.excel.importExcel'),
  216 + },
  217 + },
  218 + ],
  219 + },
220 220 {
221 221 path: 'testTab/:id',
222 222 name: 'TestTab',
... ...
vite.config.ts
... ... @@ -69,7 +69,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
69 69 preprocessorOptions: {
70 70 less: {
71 71 modifyVars: {
72   - // reference Avoid repeated references
  72 + // reference: Avoid repeated references
73 73 hack: `true; @import (reference) "${resolve('src/design/config.less')}";`,
74 74 ...modifyVars,
75 75 },
... ...
yarn.lock
... ... @@ -1296,31 +1296,6 @@
1296 1296 "@nodelib/fs.scandir" "2.1.3"
1297 1297 fastq "^1.6.0"
1298 1298  
1299   -"@pawelgalazka/cli-args@1.1.3":
1300   - version "1.1.3"
1301   - resolved "https://registry.npmjs.org/@pawelgalazka/cli-args/-/cli-args-1.1.3.tgz#7880b7e4213df516f79b200438290f3966a22428"
1302   - integrity sha512-snkj9nX11F/2+7t/aQUbGC4iYMMZ2BQMoSsJ0IUUimzkOM9jb12QFAGubsOo9TibmfTN/g0DJ+ciOgXB/YEClQ==
1303   -
1304   -"@pawelgalazka/cli@2.0.3":
1305   - version "2.0.3"
1306   - resolved "https://registry.npmjs.org/@pawelgalazka/cli/-/cli-2.0.3.tgz#69ccfb43c69457c2c7d040a95e163ec207663186"
1307   - integrity sha512-PjR8WGDfd8KLFdRS0ceZC/V99xCMN+z6MVThoaqODEOrgwSyP1qA1nVc8JXOI5cxGQ5OBvSDikrvulXYnzgIjg==
1308   - dependencies:
1309   - "@pawelgalazka/cli-args" "1.1.3"
1310   - "@pawelgalazka/middleware" "1.0.0"
1311   - chalk "2.4.2"
1312   - lodash "4.17.15"
1313   -
1314   -"@pawelgalazka/middleware@1.0.0":
1315   - version "1.0.0"
1316   - resolved "https://registry.npmjs.org/@pawelgalazka/middleware/-/middleware-1.0.0.tgz#b772fecd221903fb41a7be799ab092c72ad24b68"
1317   - integrity sha512-BHE0ZFTDhfrAWzeoeUkhKXCjh0NFcd7dYJJiekW6sp3xbhaWTVBoaJbyZthWJEeow4FHJInjeEIBwbkGKqZzRg==
1318   -
1319   -"@pawelgalazka/shell@2.0.0":
1320   - version "2.0.0"
1321   - resolved "https://registry.npmjs.org/@pawelgalazka/shell/-/shell-2.0.0.tgz#7174a2d904375e435f6a012322713234c00e75cd"
1322   - integrity sha512-MsNuS9M2vVbJNW3+YSiz9eF0/U2ZPlEEVC4ky8QJnxFlU4H7DZOH5A1hDQUfF5DV/pYwBD76dkF3+mrzZTJ3Tw==
1323   -
1324 1299 "@purge-icons/core@^0.5.0":
1325 1300 version "0.5.0"
1326 1301 resolved "https://registry.npmjs.org/@purge-icons/core/-/core-0.5.0.tgz#0f84a5aff15f665099d4a14edd986aa5dad12d25"
... ... @@ -1507,11 +1482,6 @@
1507 1482 dependencies:
1508 1483 "@types/node" "*"
1509 1484  
1510   -"@types/globrex@^0.1.0":
1511   - version "0.1.0"
1512   - resolved "https://registry.npmjs.org/@types/globrex/-/globrex-0.1.0.tgz#baf4ac8e36947017612c01fde7c7b641dc0b6c89"
1513   - integrity sha512-aBkxDgp/UbnluE+CIT3V3PoNewwOlLCzXSF3ipD86Slv8xVjwxrDAfSGbsfGgMzPo/fEMPXc+gNUJbtiugwfoA==
1514   -
1515 1485 "@types/http-assert@*":
1516 1486 version "1.5.1"
1517 1487 resolved "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b"
... ... @@ -1778,10 +1748,10 @@
1778 1748 "@typescript-eslint/types" "4.12.0"
1779 1749 eslint-visitor-keys "^2.0.0"
1780 1750  
1781   -"@vitejs/plugin-legacy@^1.1.0":
1782   - version "1.1.0"
1783   - resolved "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-1.1.0.tgz#a1855a78ce5c8c19ef1cd3246309606977497f0e"
1784   - integrity sha512-vYSKs5QZAJiDljrfEKSh9Rr6db2xvSMyM1dPnB1XVGa2mud45/s6Z19jCuEPTOtbyiN9JNsVfzUBVoI6SPoRCA==
  1751 +"@vitejs/plugin-legacy@^1.1.1":
  1752 + version "1.1.1"
  1753 + resolved "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-1.1.1.tgz#bb53847308d9c7b175d522a35e112f0351601742"
  1754 + integrity sha512-C9WQXawRJhsm8ZiV9HGHMrP4fSMJLvjcjHyP/ruRkXHIqO4Sth7XfGinPLM8Ypeam+Tl+eXlDsAXQS2hF+L7iA==
1785 1755 dependencies:
1786 1756 "@babel/standalone" "^7.12.12"
1787 1757 core-js "^3.8.2"
... ... @@ -1799,10 +1769,10 @@
1799 1769 "@vue/babel-plugin-jsx" "^1.0.0"
1800 1770 hash-sum "^2.0.0"
1801 1771  
1802   -"@vitejs/plugin-vue@^1.0.4":
1803   - version "1.0.4"
1804   - resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.0.4.tgz#124b06b185a8b536210bdb00948c17e52ab589fe"
1805   - integrity sha512-VaXpbmriAOeCdstHKjw3L8/8GZ33fcshBbWlN6IocKQW+GOGV4Xm8Vp0Oa/VpPVCSTHMcqvKyQ4gGEBpDHdWHg==
  1772 +"@vitejs/plugin-vue@^1.0.5":
  1773 + version "1.0.5"
  1774 + resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.0.5.tgz#2639178e975bebc505e9be1c88d25faf9bc4dd06"
  1775 + integrity sha512-Fq/Z1rTs7j3QhvmIjeIHqInw2YneXa8Td3z7cYQhyAZXF/WmGMegbapeBqGAoAcGSOfWpOO7Tr0c/T+Qke0O6Q==
1806 1776  
1807 1777 "@vue/babel-helper-vue-transform-on@^1.0.0":
1808 1778 version "1.0.0"
... ... @@ -2087,6 +2057,14 @@ add-stream@^1.0.0:
2087 2057 resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
2088 2058 integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=
2089 2059  
  2060 +adler-32@~1.2.0:
  2061 + version "1.2.0"
  2062 + resolved "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25"
  2063 + integrity sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=
  2064 + dependencies:
  2065 + exit-on-epipe "~1.0.1"
  2066 + printj "~1.1.0"
  2067 +
2090 2068 aggregate-error@^3.0.0:
2091 2069 version "3.1.0"
2092 2070 resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
... ... @@ -2137,7 +2115,7 @@ ansi-regex@^5.0.0:
2137 2115 resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
2138 2116 integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
2139 2117  
2140   -ansi-styles@^3.1.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1:
  2118 +ansi-styles@^3.2.0, ansi-styles@^3.2.1:
2141 2119 version "3.2.1"
2142 2120 resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
2143 2121 integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
... ... @@ -2582,23 +2560,14 @@ caniuse-lite@^1.0.30001173:
2582 2560 resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz#3c47bbe3cd6d7a9eda7f50ac016d158005569f56"
2583 2561 integrity sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==
2584 2562  
2585   -chalk@2.3.0:
2586   - version "2.3.0"
2587   - resolved "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
2588   - integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==
2589   - dependencies:
2590   - ansi-styles "^3.1.0"
2591   - escape-string-regexp "^1.0.5"
2592   - supports-color "^4.0.0"
2593   -
2594   -chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
2595   - version "2.4.2"
2596   - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
2597   - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
  2563 +cfb@^1.1.4:
  2564 + version "1.2.0"
  2565 + resolved "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz#6a4d0872b525ed60349e1ef51fb4b0bf73eca9a8"
  2566 + integrity sha512-sXMvHsKCICVR3Naq+J556K+ExBo9n50iKl6LGarlnvuA2035uMlGA/qVrc0wQtow5P1vJEw9UyrKLCbtIKz+TQ==
2598 2567 dependencies:
2599   - ansi-styles "^3.2.1"
2600   - escape-string-regexp "^1.0.5"
2601   - supports-color "^5.3.0"
  2568 + adler-32 "~1.2.0"
  2569 + crc-32 "~1.2.0"
  2570 + printj "~1.1.2"
2602 2571  
2603 2572 chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0:
2604 2573 version "4.1.0"
... ... @@ -2608,6 +2577,15 @@ chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0:
2608 2577 ansi-styles "^4.1.0"
2609 2578 supports-color "^7.1.0"
2610 2579  
  2580 +chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
  2581 + version "2.4.2"
  2582 + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
  2583 + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
  2584 + dependencies:
  2585 + ansi-styles "^3.2.1"
  2586 + escape-string-regexp "^1.0.5"
  2587 + supports-color "^5.3.0"
  2588 +
2611 2589 character-entities-legacy@^1.0.0:
2612 2590 version "1.1.4"
2613 2591 resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
... ... @@ -2743,6 +2721,14 @@ clone-regexp@^2.1.0:
2743 2721 dependencies:
2744 2722 is-regexp "^2.0.0"
2745 2723  
  2724 +codepage@~1.14.0:
  2725 + version "1.14.0"
  2726 + resolved "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz#8cbe25481323559d7d307571b0fff91e7a1d2f99"
  2727 + integrity sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=
  2728 + dependencies:
  2729 + commander "~2.14.1"
  2730 + exit-on-epipe "~1.0.1"
  2731 +
2746 2732 collection-visit@^1.0.0:
2747 2733 version "1.0.0"
2748 2734 resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
... ... @@ -2800,6 +2786,16 @@ commander@^6.1.0:
2800 2786 resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
2801 2787 integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
2802 2788  
  2789 +commander@~2.14.1:
  2790 + version "2.14.1"
  2791 + resolved "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa"
  2792 + integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==
  2793 +
  2794 +commander@~2.17.1:
  2795 + version "2.17.1"
  2796 + resolved "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
  2797 + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
  2798 +
2803 2799 commitizen@^4.0.3, commitizen@^4.2.2:
2804 2800 version "4.2.2"
2805 2801 resolved "https://registry.npmjs.org/commitizen/-/commitizen-4.2.2.tgz#1a93dd07208521ea1ebbf832593542dac714cc79"
... ... @@ -3096,6 +3092,14 @@ cosmiconfig@^7.0.0:
3096 3092 path-type "^4.0.0"
3097 3093 yaml "^1.10.0"
3098 3094  
  3095 +crc-32@~1.2.0:
  3096 + version "1.2.0"
  3097 + resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208"
  3098 + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==
  3099 + dependencies:
  3100 + exit-on-epipe "~1.0.1"
  3101 + printj "~1.1.0"
  3102 +
3099 3103 create-require@^1.1.0:
3100 3104 version "1.1.1"
3101 3105 resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
... ... @@ -3377,13 +3381,6 @@ dot-prop@^5.1.0:
3377 3381 dependencies:
3378 3382 is-obj "^2.0.0"
3379 3383  
3380   -dot-prop@^6.0.1:
3381   - version "6.0.1"
3382   - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
3383   - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
3384   - dependencies:
3385   - is-obj "^2.0.0"
3386   -
3387 3384 dotenv@^8.2.0:
3388 3385 version "8.2.0"
3389 3386 resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
... ... @@ -3698,6 +3695,11 @@ execall@^2.0.0:
3698 3695 dependencies:
3699 3696 clone-regexp "^2.1.0"
3700 3697  
  3698 +exit-on-epipe@~1.0.1:
  3699 + version "1.0.1"
  3700 + resolved "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
  3701 + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
  3702 +
3701 3703 expand-brackets@^2.1.4:
3702 3704 version "2.1.4"
3703 3705 resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
... ... @@ -3805,6 +3807,11 @@ fastq@^1.6.0:
3805 3807 dependencies:
3806 3808 reusify "^1.0.4"
3807 3809  
  3810 +fflate@^0.3.8:
  3811 + version "0.3.11"
  3812 + resolved "https://registry.npmjs.org/fflate/-/fflate-0.3.11.tgz#2c440d7180fdeb819e64898d8858af327b042a5d"
  3813 + integrity sha512-Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A==
  3814 +
3808 3815 figures@^2.0.0:
3809 3816 version "2.0.0"
3810 3817 resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
... ... @@ -3954,6 +3961,11 @@ for-in@^1.0.2:
3954 3961 resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
3955 3962 integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
3956 3963  
  3964 +frac@~1.1.2:
  3965 + version "1.1.2"
  3966 + resolved "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b"
  3967 + integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==
  3968 +
3957 3969 fraction.js@^4.0.13:
3958 3970 version "4.0.13"
3959 3971 resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz#3c1c315fa16b35c85fffa95725a36fa729c69dfe"
... ... @@ -4217,11 +4229,6 @@ globjoin@^0.1.4:
4217 4229 resolved "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43"
4218 4230 integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=
4219 4231  
4220   -globrex@^0.1.2:
4221   - version "0.1.2"
4222   - resolved "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098"
4223   - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==
4224   -
4225 4232 gonzales-pe@^4.3.0:
4226 4233 version "4.3.0"
4227 4234 resolved "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3"
... ... @@ -4251,11 +4258,6 @@ hard-rejection@^2.1.0:
4251 4258 resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
4252 4259 integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
4253 4260  
4254   -has-flag@^2.0.0:
4255   - version "2.0.0"
4256   - resolved "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
4257   - integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
4258   -
4259 4261 has-flag@^3.0.0:
4260 4262 version "3.0.0"
4261 4263 resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
... ... @@ -5147,11 +5149,6 @@ lodash.templatesettings@^4.0.0:
5147 5149 dependencies:
5148 5150 lodash._reinterpolate "^3.0.0"
5149 5151  
5150   -lodash@4.17.15:
5151   - version "4.17.15"
5152   - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
5153   - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
5154   -
5155 5152 lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20:
5156 5153 version "4.17.20"
5157 5154 resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
... ... @@ -6234,6 +6231,11 @@ pretty-bytes@^5.5.0:
6234 6231 resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.5.0.tgz#0cecda50a74a941589498011cf23275aa82b339e"
6235 6232 integrity sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==
6236 6233  
  6234 +printj@~1.1.0, printj@~1.1.2:
  6235 + version "1.1.2"
  6236 + resolved "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222"
  6237 + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==
  6238 +
6237 6239 process-nextick-args@~2.0.0:
6238 6240 version "2.0.1"
6239 6241 resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
... ... @@ -7011,6 +7013,13 @@ sprintf-js@~1.0.2:
7011 7013 resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
7012 7014 integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
7013 7015  
  7016 +ssf@~0.11.2:
  7017 + version "0.11.2"
  7018 + resolved "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz#0b99698b237548d088fc43cdf2b70c1a7512c06c"
  7019 + integrity sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==
  7020 + dependencies:
  7021 + frac "~1.1.2"
  7022 +
7014 7023 static-extend@^0.1.1:
7015 7024 version "0.1.2"
7016 7025 resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
... ... @@ -7252,13 +7261,6 @@ sugarss@^2.0.0:
7252 7261 dependencies:
7253 7262 postcss "^7.0.2"
7254 7263  
7255   -supports-color@^4.0.0:
7256   - version "4.5.0"
7257   - resolved "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
7258   - integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
7259   - dependencies:
7260   - has-flag "^2.0.0"
7261   -
7262 7264 supports-color@^5.3.0:
7263 7265 version "5.5.0"
7264 7266 resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
... ... @@ -7355,15 +7357,6 @@ table@^6.0.3, table@^6.0.4:
7355 7357 slice-ansi "^4.0.0"
7356 7358 string-width "^4.2.0"
7357 7359  
7358   -tasksfile@^5.1.1:
7359   - version "5.1.1"
7360   - resolved "https://registry.npmjs.org/tasksfile/-/tasksfile-5.1.1.tgz#7d5bc643bc0dc078b491a8fd9d19341c52599a95"
7361   - integrity sha512-G5d3pT8qHgRy3L2zUj+SJMr1C44k2tr+68e1gRxPs6bFHDq/qr3l6BmT2O7OcaGryOHrHIMhwnU3ZTjXGvsXxQ==
7362   - dependencies:
7363   - "@pawelgalazka/cli" "2.0.3"
7364   - "@pawelgalazka/shell" "2.0.0"
7365   - chalk "2.3.0"
7366   -
7367 7360 temp-dir@^2.0.0:
7368 7361 version "2.0.0"
7369 7362 resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e"
... ... @@ -7843,10 +7836,10 @@ vite-plugin-pwa@^0.3.2:
7843 7836 pretty-bytes "^5.5.0"
7844 7837 workbox-build "^6.0.2"
7845 7838  
7846   -vite@^2.0.0-beta.15:
7847   - version "2.0.0-beta.15"
7848   - resolved "https://registry.npmjs.org/vite/-/vite-2.0.0-beta.15.tgz#cd2f1037b4767538839b4c6b4f71a1f9512c7654"
7849   - integrity sha512-S+NRqL+/QZooWbshnB/Rht1Ln0ldyUcGwghwprvmzI4fXAfM0rFU5g6uno0DdueYnHn0jDO3ExQktGyQuNb9Ww==
  7839 +vite@^2.0.0-beta.16:
  7840 + version "2.0.0-beta.16"
  7841 + resolved "https://registry.npmjs.org/vite/-/vite-2.0.0-beta.16.tgz#ad1c01b82072370cfe8440327adc47669e11496b"
  7842 + integrity sha512-+4XGgMpY+MuDoDi+kB2bq1W2dgqE5pJ1wU8HZ2VdJy8qVyYF/bo7IOP56ZbWMpij4b71Bat5SetyE+r6wrETbg==
7850 7843 dependencies:
7851 7844 esbuild "^0.8.26"
7852 7845 postcss "^8.2.1"
... ... @@ -7967,11 +7960,21 @@ which@^2.0.1:
7967 7960 dependencies:
7968 7961 isexe "^2.0.0"
7969 7962  
  7963 +wmf@~1.0.1:
  7964 + version "1.0.2"
  7965 + resolved "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da"
  7966 + integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==
  7967 +
7970 7968 word-wrap@^1.0.3, word-wrap@^1.2.3:
7971 7969 version "1.2.3"
7972 7970 resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
7973 7971 integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
7974 7972  
  7973 +word@~0.3.0:
  7974 + version "0.3.0"
  7975 + resolved "https://registry.npmjs.org/word/-/word-0.3.0.tgz#8542157e4f8e849f4a363a288992d47612db9961"
  7976 + integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==
  7977 +
7975 7978 wordwrap@^1.0.0:
7976 7979 version "1.0.0"
7977 7980 resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
... ... @@ -8174,6 +8177,22 @@ write-file-atomic@^3.0.3:
8174 8177 signal-exit "^3.0.2"
8175 8178 typedarray-to-buffer "^3.1.5"
8176 8179  
  8180 +xlsx@^0.16.9:
  8181 + version "0.16.9"
  8182 + resolved "https://registry.npmjs.org/xlsx/-/xlsx-0.16.9.tgz#dacd5bb46bda6dd3743940c9c3dc1e2171826256"
  8183 + integrity sha512-gxi1I3EasYvgCX1vN9pGyq920Ron4NO8PNfhuoA3Hpq6Y8f0ECXiy4OLrK4QZBnj1jx3QD+8Fq5YZ/3mPZ5iXw==
  8184 + dependencies:
  8185 + adler-32 "~1.2.0"
  8186 + cfb "^1.1.4"
  8187 + codepage "~1.14.0"
  8188 + commander "~2.17.1"
  8189 + crc-32 "~1.2.0"
  8190 + exit-on-epipe "~1.0.1"
  8191 + fflate "^0.3.8"
  8192 + ssf "~0.11.2"
  8193 + wmf "~1.0.1"
  8194 + word "~0.3.0"
  8195 +
8177 8196 xtend@~4.0.1:
8178 8197 version "4.0.2"
8179 8198 resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
... ...