Commit 751280832a03d6c131ba95a50e479c6fd36a75ea

Authored by 田强
1 parent 55f62275

feat: build plugin

  1 +#!/usr/bin/env node
  2 +const execSync = require('child_process').execSync;
  3 +const path = require('path');
  4 +
  5 +execSync(`npx cross-env NODE_ENV=production webpack build --config ${path.resolve(__dirname, '../config/webpack.plugin.js')}`, { stdio: 'inherit' });
... ...
... ... @@ -9,6 +9,7 @@ program
9 9 .command('list', '列出所有的模板')
10 10 .command('init', '通过模板初始化新项目')
11 11 .command('build', '打包项目')
12   - .command('start', '启动本地服务');
  12 + .command('start', '启动本地服务')
  13 + .command('build-plugin', '打包插件')
13 14
14 15 program.parse(process.argv);
... ...
1   -const CopyPlugin = require('copy-webpack-plugin');
2   -const HtmlWebpackPlugin = require('html-webpack-plugin');
3   -const WebpackBar = require('webpackbar');
4   -const MiniCssExtractPlugin = require('mini-css-extract-plugin');
5   -const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');
  1 +const CopyPlugin = require("copy-webpack-plugin");
  2 +const HtmlWebpackPlugin = require("html-webpack-plugin");
  3 +const WebpackBar = require("webpackbar");
  4 +const MiniCssExtractPlugin = require("mini-css-extract-plugin");
  5 +const NodePolyfillPlugin = require("node-polyfill-webpack-plugin");
6 6
7   -const process = require('process');
8   -const path = require('path');
  7 +const process = require("process");
  8 +const path = require("path");
9 9
10 10 const cwd = process.cwd();
11 11
  12 +
12 13 module.exports = {
13 14 output: {
14 15 filename: './js/[name]-[contenthash].js',
... ... @@ -22,14 +23,14 @@ module.exports = {
22 23 test: /\.(js|jsx|ts|tsx)$/,
23 24 exclude: /node_modules/,
24 25 use: [
25   - 'thread-loader',
  26 + "thread-loader",
26 27 {
27   - loader: 'babel-loader',
  28 + loader: "babel-loader",
28 29 options: {
29 30 presets: [
30   - '@babel/preset-env',
31   - '@babel/preset-react',
32   - '@babel/preset-typescript',
  31 + "@babel/preset-env",
  32 + "@babel/preset-react",
  33 + "@babel/preset-typescript",
33 34 ],
34 35 },
35 36 },
... ... @@ -38,18 +39,18 @@ module.exports = {
38 39 {
39 40 test: /\.(png|jpeg|jpg)(\?[a-z0-9=&.]+)?$/,
40 41 use: {
41   - loader: 'file-loader',
  42 + loader: "file-loader",
42 43 options: {
43   - name: './public/imgs/[name].[ext]',
  44 + name: "./public/imgs/[name].[ext]",
44 45 },
45 46 },
46 47 },
47 48 {
48 49 test: /\.(ttf|eot|woff(2)?)(\?[a-z0-9=&.]+)?$/,
49 50 use: {
50   - loader: 'file-loader',
  51 + loader: "file-loader",
51 52 options: {
52   - name: './public/fonts/[name].[ext]',
  53 + name: "./public/fonts/[name].[ext]",
53 54 },
54 55 },
55 56 },
... ... @@ -57,9 +58,9 @@ module.exports = {
57 58 test: /\.less$/i,
58 59 use: [
59 60 MiniCssExtractPlugin.loader,
60   - 'css-loader',
  61 + "css-loader",
61 62 {
62   - loader: 'less-loader',
  63 + loader: "less-loader",
63 64 options: {
64 65 additionalData: `@import '@/styles/variable.less';`,
65 66 },
... ... @@ -69,19 +70,19 @@ module.exports = {
69 70
70 71 {
71 72 test: /\.css$/i,
72   - use: [MiniCssExtractPlugin.loader, 'css-loader'],
  73 + use: [MiniCssExtractPlugin.loader, "css-loader"],
73 74 },
74 75 {
75 76 test: /\.svg$/,
76   - use: ['@svgr/webpack', 'url-loader'],
  77 + use: ["@svgr/webpack", "url-loader"],
77 78 },
78 79 ],
79 80 },
80 81 resolve: {
81   - extensions: ['.json', '.jsx', '.js', '.ts', '.tsx'],
  82 + extensions: [".json", ".jsx", ".js", ".ts", ".tsx"],
82 83 alias: {
83   - '@': path.resolve(cwd, './src/'),
84   - '@/src': path.resolve(cwd, './src/'),
  84 + "@": path.resolve(cwd, "./src/"),
  85 + "@/src": path.resolve(cwd, "./src/"),
85 86 },
86 87 },
87 88 plugins: [
... ...
  1 +const { merge } = require('webpack-merge');
  2 +const prodConfig = require('./webpack.prod');
  3 +const WebpackBar = require("webpackbar");
  4 +const NodePolyfillPlugin = require("node-polyfill-webpack-plugin");
  5 +const path = require('path')
  6 +const { cwd } = require('process')
  7 +
  8 +delete prodConfig.plugins
  9 +
  10 +module.exports = merge(prodConfig, {
  11 + output: {
  12 + filename: 'index.js',
  13 + libraryTarget: 'system',
  14 + },
  15 + entry: path.resolve(cwd(), './index.ts'),
  16 + plugins: [
  17 + new WebpackBar(),
  18 + new NodePolyfillPlugin()
  19 + ],
  20 +});
... ...
... ... @@ -8,31 +8,40 @@
8 8 "name": "@qx/cli",
9 9 "version": "1.1.0-beta.5",
10 10 "license": "ISC",
11   - "dependencies": {
12   - "chalk": "^4.1.2",
13   - "commander": "^7.2.0",
14   - "inquirer": "^8.0.0"
15   - },
16 11 "bin": {
17 12 "qx-cli": "bin/index.js",
18 13 "qx-cli-build": "bin/build.js",
  14 + "qx-cli-build-plugin": "bin/build-plugin.js",
19 15 "qx-cli-init": "bin/init.js",
20 16 "qx-cli-list": "bin/list.js",
21 17 "qx-cli-start": "bin/start.js"
22 18 },
23 19 "devDependencies": {
  20 + "chalk": "^4.1.2",
  21 + "commander": "^7.2.0",
24 22 "compression-webpack-plugin": "^10.0.0",
25 23 "copy-webpack-plugin": "^11.0.0",
26 24 "cross-env": "^7.0.3",
27 25 "css-minimizer-webpack-plugin": "^5.0.1",
28 26 "html-webpack-plugin": "^5.5.3",
  27 + "inquirer": "^8.0.0",
29 28 "mini-css-extract-plugin": "^2.7.6",
30 29 "node-polyfill-webpack-plugin": "^2.0.1",
31 30 "vite": "^4.5.0",
  31 + "webpack-cli": "^5.1.4",
32 32 "webpack-merge": "^5.10.0",
33 33 "webpackbar": "^5.0.2"
34 34 }
35 35 },
  36 + "node_modules/@discoveryjs/json-ext": {
  37 + "version": "0.5.7",
  38 + "resolved": "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
  39 + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
  40 + "dev": true,
  41 + "engines": {
  42 + "node": ">=10.0.0"
  43 + }
  44 + },
36 45 "node_modules/@esbuild/android-arm": {
37 46 "version": "0.18.20",
38 47 "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
... ... @@ -769,6 +778,50 @@
769 778 "@xtuc/long": "4.2.2"
770 779 }
771 780 },
  781 + "node_modules/@webpack-cli/configtest": {
  782 + "version": "2.1.1",
  783 + "resolved": "https://registry.npmmirror.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
  784 + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
  785 + "dev": true,
  786 + "engines": {
  787 + "node": ">=14.15.0"
  788 + },
  789 + "peerDependencies": {
  790 + "webpack": "5.x.x",
  791 + "webpack-cli": "5.x.x"
  792 + }
  793 + },
  794 + "node_modules/@webpack-cli/info": {
  795 + "version": "2.0.2",
  796 + "resolved": "https://registry.npmmirror.com/@webpack-cli/info/-/info-2.0.2.tgz",
  797 + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
  798 + "dev": true,
  799 + "engines": {
  800 + "node": ">=14.15.0"
  801 + },
  802 + "peerDependencies": {
  803 + "webpack": "5.x.x",
  804 + "webpack-cli": "5.x.x"
  805 + }
  806 + },
  807 + "node_modules/@webpack-cli/serve": {
  808 + "version": "2.0.5",
  809 + "resolved": "https://registry.npmmirror.com/@webpack-cli/serve/-/serve-2.0.5.tgz",
  810 + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
  811 + "dev": true,
  812 + "engines": {
  813 + "node": ">=14.15.0"
  814 + },
  815 + "peerDependencies": {
  816 + "webpack": "5.x.x",
  817 + "webpack-cli": "5.x.x"
  818 + },
  819 + "peerDependenciesMeta": {
  820 + "webpack-dev-server": {
  821 + "optional": true
  822 + }
  823 + }
  824 + },
772 825 "node_modules/@xtuc/ieee754": {
773 826 "version": "1.2.0",
774 827 "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
... ... @@ -862,6 +915,7 @@
862 915 "version": "4.3.2",
863 916 "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
864 917 "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
  918 + "dev": true,
865 919 "dependencies": {
866 920 "type-fest": "^0.21.3"
867 921 },
... ... @@ -873,6 +927,7 @@
873 927 "version": "5.0.1",
874 928 "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
875 929 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
  930 + "dev": true,
876 931 "engines": {
877 932 "node": ">=8"
878 933 }
... ... @@ -881,6 +936,7 @@
881 936 "version": "4.3.0",
882 937 "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
883 938 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
  939 + "dev": true,
884 940 "dependencies": {
885 941 "color-convert": "^2.0.1"
886 942 },
... ... @@ -918,12 +974,14 @@
918 974 "node_modules/base64-js": {
919 975 "version": "1.5.1",
920 976 "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
921   - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
  977 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
  978 + "dev": true
922 979 },
923 980 "node_modules/bl": {
924 981 "version": "4.1.0",
925 982 "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz",
926 983 "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
  984 + "dev": true,
927 985 "dependencies": {
928 986 "buffer": "^5.5.0",
929 987 "inherits": "^2.0.4",
... ... @@ -1055,6 +1113,7 @@
1055 1113 "version": "5.7.1",
1056 1114 "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
1057 1115 "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
  1116 + "dev": true,
1058 1117 "dependencies": {
1059 1118 "base64-js": "^1.3.1",
1060 1119 "ieee754": "^1.1.13"
... ... @@ -1121,6 +1180,7 @@
1121 1180 "version": "4.1.2",
1122 1181 "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
1123 1182 "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
  1183 + "dev": true,
1124 1184 "dependencies": {
1125 1185 "ansi-styles": "^4.1.0",
1126 1186 "supports-color": "^7.1.0"
... ... @@ -1132,7 +1192,8 @@
1132 1192 "node_modules/chardet": {
1133 1193 "version": "0.7.0",
1134 1194 "resolved": "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz",
1135   - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
  1195 + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
  1196 + "dev": true
1136 1197 },
1137 1198 "node_modules/chrome-trace-event": {
1138 1199 "version": "1.0.3",
... ... @@ -1177,6 +1238,7 @@
1177 1238 },
1178 1239 "node_modules/cli-cursor": {
1179 1240 "version": "3.1.0",
  1241 + "dev": true,
1180 1242 "license": "MIT",
1181 1243 "dependencies": {
1182 1244 "restore-cursor": "^3.1.0"
... ... @@ -1189,12 +1251,14 @@
1189 1251 "version": "2.9.1",
1190 1252 "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.1.tgz",
1191 1253 "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==",
  1254 + "dev": true,
1192 1255 "engines": {
1193 1256 "node": ">=6"
1194 1257 }
1195 1258 },
1196 1259 "node_modules/cli-width": {
1197 1260 "version": "3.0.0",
  1261 + "dev": true,
1198 1262 "license": "ISC",
1199 1263 "engines": {
1200 1264 "node": ">= 10"
... ... @@ -1204,6 +1268,7 @@
1204 1268 "version": "1.0.4",
1205 1269 "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz",
1206 1270 "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
  1271 + "dev": true,
1207 1272 "engines": {
1208 1273 "node": ">=0.8"
1209 1274 }
... ... @@ -1226,6 +1291,7 @@
1226 1291 "version": "2.0.1",
1227 1292 "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
1228 1293 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
  1294 + "dev": true,
1229 1295 "dependencies": {
1230 1296 "color-name": "~1.1.4"
1231 1297 },
... ... @@ -1236,7 +1302,8 @@
1236 1302 "node_modules/color-name": {
1237 1303 "version": "1.1.4",
1238 1304 "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
1239   - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
  1305 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
  1306 + "dev": true
1240 1307 },
1241 1308 "node_modules/colord": {
1242 1309 "version": "2.9.3",
... ... @@ -1244,8 +1311,15 @@
1244 1311 "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
1245 1312 "dev": true
1246 1313 },
  1314 + "node_modules/colorette": {
  1315 + "version": "2.0.20",
  1316 + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz",
  1317 + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
  1318 + "dev": true
  1319 + },
1247 1320 "node_modules/commander": {
1248 1321 "version": "7.2.0",
  1322 + "dev": true,
1249 1323 "license": "MIT",
1250 1324 "engines": {
1251 1325 "node": ">= 10"
... ... @@ -1621,6 +1695,7 @@
1621 1695 "version": "1.0.4",
1622 1696 "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz",
1623 1697 "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
  1698 + "dev": true,
1624 1699 "dependencies": {
1625 1700 "clone": "^1.0.2"
1626 1701 }
... ... @@ -1781,7 +1856,8 @@
1781 1856 "node_modules/emoji-regex": {
1782 1857 "version": "8.0.0",
1783 1858 "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
1784   - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
  1859 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
  1860 + "dev": true
1785 1861 },
1786 1862 "node_modules/enhanced-resolve": {
1787 1863 "version": "5.15.0",
... ... @@ -1803,6 +1879,18 @@
1803 1879 "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
1804 1880 "dev": true
1805 1881 },
  1882 + "node_modules/envinfo": {
  1883 + "version": "7.11.0",
  1884 + "resolved": "https://registry.npmmirror.com/envinfo/-/envinfo-7.11.0.tgz",
  1885 + "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==",
  1886 + "dev": true,
  1887 + "bin": {
  1888 + "envinfo": "dist/cli.js"
  1889 + },
  1890 + "engines": {
  1891 + "node": ">=4"
  1892 + }
  1893 + },
1806 1894 "node_modules/esbuild": {
1807 1895 "version": "0.18.20",
1808 1896 "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.18.20.tgz",
... ... @@ -1851,6 +1939,7 @@
1851 1939 },
1852 1940 "node_modules/escape-string-regexp": {
1853 1941 "version": "1.0.5",
  1942 + "dev": true,
1854 1943 "license": "MIT",
1855 1944 "engines": {
1856 1945 "node": ">=0.8.0"
... ... @@ -1935,6 +2024,7 @@
1935 2024 "version": "3.1.0",
1936 2025 "resolved": "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz",
1937 2026 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
  2027 + "dev": true,
1938 2028 "dependencies": {
1939 2029 "chardet": "^0.7.0",
1940 2030 "iconv-lite": "^0.4.24",
... ... @@ -1973,6 +2063,15 @@
1973 2063 "dev": true,
1974 2064 "peer": true
1975 2065 },
  2066 + "node_modules/fastest-levenshtein": {
  2067 + "version": "1.0.16",
  2068 + "resolved": "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
  2069 + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
  2070 + "dev": true,
  2071 + "engines": {
  2072 + "node": ">= 4.9.1"
  2073 + }
  2074 + },
1976 2075 "node_modules/fastq": {
1977 2076 "version": "1.15.0",
1978 2077 "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz",
... ... @@ -1984,6 +2083,7 @@
1984 2083 },
1985 2084 "node_modules/figures": {
1986 2085 "version": "3.2.0",
  2086 + "dev": true,
1987 2087 "license": "MIT",
1988 2088 "dependencies": {
1989 2089 "escape-string-regexp": "^1.0.5"
... ... @@ -2007,6 +2107,19 @@
2007 2107 "node": ">=8"
2008 2108 }
2009 2109 },
  2110 + "node_modules/find-up": {
  2111 + "version": "4.1.0",
  2112 + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
  2113 + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
  2114 + "dev": true,
  2115 + "dependencies": {
  2116 + "locate-path": "^5.0.0",
  2117 + "path-exists": "^4.0.0"
  2118 + },
  2119 + "engines": {
  2120 + "node": ">=8"
  2121 + }
  2122 + },
2010 2123 "node_modules/flat": {
2011 2124 "version": "5.0.2",
2012 2125 "resolved": "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz",
... ... @@ -2120,6 +2233,7 @@
2120 2233 "version": "4.0.0",
2121 2234 "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
2122 2235 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
  2236 + "dev": true,
2123 2237 "engines": {
2124 2238 "node": ">=8"
2125 2239 }
... ... @@ -2187,6 +2301,18 @@
2187 2301 "minimalistic-assert": "^1.0.1"
2188 2302 }
2189 2303 },
  2304 + "node_modules/hasown": {
  2305 + "version": "2.0.0",
  2306 + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz",
  2307 + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
  2308 + "dev": true,
  2309 + "dependencies": {
  2310 + "function-bind": "^1.1.2"
  2311 + },
  2312 + "engines": {
  2313 + "node": ">= 0.4"
  2314 + }
  2315 + },
2190 2316 "node_modules/he": {
2191 2317 "version": "1.2.0",
2192 2318 "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
... ... @@ -2302,6 +2428,7 @@
2302 2428 "version": "0.4.24",
2303 2429 "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz",
2304 2430 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
  2431 + "dev": true,
2305 2432 "dependencies": {
2306 2433 "safer-buffer": ">= 2.1.2 < 3"
2307 2434 },
... ... @@ -2312,7 +2439,8 @@
2312 2439 "node_modules/ieee754": {
2313 2440 "version": "1.2.1",
2314 2441 "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
2315   - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
  2442 + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
  2443 + "dev": true
2316 2444 },
2317 2445 "node_modules/ignore": {
2318 2446 "version": "5.2.4",
... ... @@ -2323,13 +2451,31 @@
2323 2451 "node": ">= 4"
2324 2452 }
2325 2453 },
  2454 + "node_modules/import-local": {
  2455 + "version": "3.1.0",
  2456 + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz",
  2457 + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
  2458 + "dev": true,
  2459 + "dependencies": {
  2460 + "pkg-dir": "^4.2.0",
  2461 + "resolve-cwd": "^3.0.0"
  2462 + },
  2463 + "bin": {
  2464 + "import-local-fixture": "fixtures/cli.js"
  2465 + },
  2466 + "engines": {
  2467 + "node": ">=8"
  2468 + }
  2469 + },
2326 2470 "node_modules/inherits": {
2327 2471 "version": "2.0.4",
2328 2472 "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
2329   - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
  2473 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
  2474 + "dev": true
2330 2475 },
2331 2476 "node_modules/inquirer": {
2332 2477 "version": "8.2.6",
  2478 + "dev": true,
2333 2479 "license": "MIT",
2334 2480 "dependencies": {
2335 2481 "ansi-escapes": "^4.2.1",
... ... @@ -2352,6 +2498,15 @@
2352 2498 "node": ">=12.0.0"
2353 2499 }
2354 2500 },
  2501 + "node_modules/interpret": {
  2502 + "version": "3.1.1",
  2503 + "resolved": "https://registry.npmmirror.com/interpret/-/interpret-3.1.1.tgz",
  2504 + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
  2505 + "dev": true,
  2506 + "engines": {
  2507 + "node": ">=10.13.0"
  2508 + }
  2509 + },
2355 2510 "node_modules/is-arguments": {
2356 2511 "version": "1.1.1",
2357 2512 "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz",
... ... @@ -2374,6 +2529,15 @@
2374 2529 "node": ">= 0.4"
2375 2530 }
2376 2531 },
  2532 + "node_modules/is-core-module": {
  2533 + "version": "2.13.1",
  2534 + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz",
  2535 + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
  2536 + "dev": true,
  2537 + "dependencies": {
  2538 + "hasown": "^2.0.0"
  2539 + }
  2540 + },
2377 2541 "node_modules/is-extglob": {
2378 2542 "version": "2.1.1",
2379 2543 "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
... ... @@ -2387,6 +2551,7 @@
2387 2551 "version": "3.0.0",
2388 2552 "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2389 2553 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
  2554 + "dev": true,
2390 2555 "engines": {
2391 2556 "node": ">=8"
2392 2557 }
... ... @@ -2419,6 +2584,7 @@
2419 2584 "version": "1.0.0",
2420 2585 "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz",
2421 2586 "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
  2587 + "dev": true,
2422 2588 "engines": {
2423 2589 "node": ">=8"
2424 2590 }
... ... @@ -2473,6 +2639,7 @@
2473 2639 "version": "0.1.0",
2474 2640 "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
2475 2641 "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
  2642 + "dev": true,
2476 2643 "engines": {
2477 2644 "node": ">=10"
2478 2645 }
... ... @@ -2577,10 +2744,23 @@
2577 2744 "node": ">=6.11.5"
2578 2745 }
2579 2746 },
  2747 + "node_modules/locate-path": {
  2748 + "version": "5.0.0",
  2749 + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
  2750 + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
  2751 + "dev": true,
  2752 + "dependencies": {
  2753 + "p-locate": "^4.1.0"
  2754 + },
  2755 + "engines": {
  2756 + "node": ">=8"
  2757 + }
  2758 + },
2580 2759 "node_modules/lodash": {
2581 2760 "version": "4.17.21",
2582 2761 "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
2583   - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
  2762 + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
  2763 + "dev": true
2584 2764 },
2585 2765 "node_modules/lodash.memoize": {
2586 2766 "version": "4.1.2",
... ... @@ -2598,6 +2778,7 @@
2598 2778 "version": "4.1.0",
2599 2779 "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz",
2600 2780 "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
  2781 + "dev": true,
2601 2782 "dependencies": {
2602 2783 "chalk": "^4.1.0",
2603 2784 "is-unicode-supported": "^0.1.0"
... ... @@ -2706,6 +2887,7 @@
2706 2887 "version": "2.1.0",
2707 2888 "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
2708 2889 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
  2890 + "dev": true,
2709 2891 "engines": {
2710 2892 "node": ">=6"
2711 2893 }
... ... @@ -2739,6 +2921,7 @@
2739 2921 },
2740 2922 "node_modules/mute-stream": {
2741 2923 "version": "0.0.8",
  2924 + "dev": true,
2742 2925 "license": "ISC"
2743 2926 },
2744 2927 "node_modules/nanoid": {
... ... @@ -3030,6 +3213,7 @@
3030 3213 "version": "5.1.2",
3031 3214 "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
3032 3215 "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
  3216 + "dev": true,
3033 3217 "dependencies": {
3034 3218 "mimic-fn": "^2.1.0"
3035 3219 },
... ... @@ -3041,6 +3225,7 @@
3041 3225 "version": "5.4.1",
3042 3226 "resolved": "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz",
3043 3227 "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
  3228 + "dev": true,
3044 3229 "dependencies": {
3045 3230 "bl": "^4.1.0",
3046 3231 "chalk": "^4.1.0",
... ... @@ -3066,10 +3251,44 @@
3066 3251 "version": "1.0.2",
3067 3252 "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
3068 3253 "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
  3254 + "dev": true,
3069 3255 "engines": {
3070 3256 "node": ">=0.10.0"
3071 3257 }
3072 3258 },
  3259 + "node_modules/p-limit": {
  3260 + "version": "2.3.0",
  3261 + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
  3262 + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
  3263 + "dev": true,
  3264 + "dependencies": {
  3265 + "p-try": "^2.0.0"
  3266 + },
  3267 + "engines": {
  3268 + "node": ">=6"
  3269 + }
  3270 + },
  3271 + "node_modules/p-locate": {
  3272 + "version": "4.1.0",
  3273 + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
  3274 + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
  3275 + "dev": true,
  3276 + "dependencies": {
  3277 + "p-limit": "^2.2.0"
  3278 + },
  3279 + "engines": {
  3280 + "node": ">=8"
  3281 + }
  3282 + },
  3283 + "node_modules/p-try": {
  3284 + "version": "2.2.0",
  3285 + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
  3286 + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
  3287 + "dev": true,
  3288 + "engines": {
  3289 + "node": ">=6"
  3290 + }
  3291 + },
3073 3292 "node_modules/pako": {
3074 3293 "version": "1.0.11",
3075 3294 "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz",
... ... @@ -3109,6 +3328,15 @@
3109 3328 "tslib": "^2.0.3"
3110 3329 }
3111 3330 },
  3331 + "node_modules/path-exists": {
  3332 + "version": "4.0.0",
  3333 + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
  3334 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
  3335 + "dev": true,
  3336 + "engines": {
  3337 + "node": ">=8"
  3338 + }
  3339 + },
3112 3340 "node_modules/path-key": {
3113 3341 "version": "3.1.1",
3114 3342 "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
... ... @@ -3118,6 +3346,12 @@
3118 3346 "node": ">=8"
3119 3347 }
3120 3348 },
  3349 + "node_modules/path-parse": {
  3350 + "version": "1.0.7",
  3351 + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz",
  3352 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
  3353 + "dev": true
  3354 + },
3121 3355 "node_modules/path-type": {
3122 3356 "version": "4.0.0",
3123 3357 "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz",
... ... @@ -3158,6 +3392,18 @@
3158 3392 "node": ">=8.6"
3159 3393 }
3160 3394 },
  3395 + "node_modules/pkg-dir": {
  3396 + "version": "4.2.0",
  3397 + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz",
  3398 + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
  3399 + "dev": true,
  3400 + "dependencies": {
  3401 + "find-up": "^4.0.0"
  3402 + },
  3403 + "engines": {
  3404 + "node": ">=8"
  3405 + }
  3406 + },
3161 3407 "node_modules/postcss": {
3162 3408 "version": "8.4.31",
3163 3409 "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.31.tgz",
... ... @@ -3702,6 +3948,7 @@
3702 3948 "version": "3.6.2",
3703 3949 "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
3704 3950 "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
  3951 + "dev": true,
3705 3952 "dependencies": {
3706 3953 "inherits": "^2.0.3",
3707 3954 "string_decoder": "^1.1.1",
... ... @@ -3711,6 +3958,18 @@
3711 3958 "node": ">= 6"
3712 3959 }
3713 3960 },
  3961 + "node_modules/rechoir": {
  3962 + "version": "0.8.0",
  3963 + "resolved": "https://registry.npmmirror.com/rechoir/-/rechoir-0.8.0.tgz",
  3964 + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
  3965 + "dev": true,
  3966 + "dependencies": {
  3967 + "resolve": "^1.20.0"
  3968 + },
  3969 + "engines": {
  3970 + "node": ">= 10.13.0"
  3971 + }
  3972 + },
3714 3973 "node_modules/relateurl": {
3715 3974 "version": "0.2.7",
3716 3975 "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz",
... ... @@ -3742,8 +4001,44 @@
3742 4001 "node": ">=0.10.0"
3743 4002 }
3744 4003 },
  4004 + "node_modules/resolve": {
  4005 + "version": "1.22.8",
  4006 + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz",
  4007 + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
  4008 + "dev": true,
  4009 + "dependencies": {
  4010 + "is-core-module": "^2.13.0",
  4011 + "path-parse": "^1.0.7",
  4012 + "supports-preserve-symlinks-flag": "^1.0.0"
  4013 + },
  4014 + "bin": {
  4015 + "resolve": "bin/resolve"
  4016 + }
  4017 + },
  4018 + "node_modules/resolve-cwd": {
  4019 + "version": "3.0.0",
  4020 + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
  4021 + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
  4022 + "dev": true,
  4023 + "dependencies": {
  4024 + "resolve-from": "^5.0.0"
  4025 + },
  4026 + "engines": {
  4027 + "node": ">=8"
  4028 + }
  4029 + },
  4030 + "node_modules/resolve-from": {
  4031 + "version": "5.0.0",
  4032 + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz",
  4033 + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
  4034 + "dev": true,
  4035 + "engines": {
  4036 + "node": ">=8"
  4037 + }
  4038 + },
3745 4039 "node_modules/restore-cursor": {
3746 4040 "version": "3.1.0",
  4041 + "dev": true,
3747 4042 "license": "MIT",
3748 4043 "dependencies": {
3749 4044 "onetime": "^5.1.0",
... ... @@ -3793,6 +4088,7 @@
3793 4088 "version": "2.4.1",
3794 4089 "resolved": "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz",
3795 4090 "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
  4091 + "dev": true,
3796 4092 "engines": {
3797 4093 "node": ">=0.12.0"
3798 4094 }
... ... @@ -3808,6 +4104,7 @@
3808 4104 },
3809 4105 "node_modules/rxjs": {
3810 4106 "version": "7.8.1",
  4107 + "dev": true,
3811 4108 "license": "Apache-2.0",
3812 4109 "dependencies": {
3813 4110 "tslib": "^2.1.0"
... ... @@ -3816,12 +4113,14 @@
3816 4113 "node_modules/safe-buffer": {
3817 4114 "version": "5.2.1",
3818 4115 "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
3819   - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
  4116 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
  4117 + "dev": true
3820 4118 },
3821 4119 "node_modules/safer-buffer": {
3822 4120 "version": "2.1.2",
3823 4121 "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
3824   - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
  4122 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
  4123 + "dev": true
3825 4124 },
3826 4125 "node_modules/schema-utils": {
3827 4126 "version": "4.2.0",
... ... @@ -3928,7 +4227,8 @@
3928 4227 "node_modules/signal-exit": {
3929 4228 "version": "3.0.7",
3930 4229 "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
3931   - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
  4230 + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
  4231 + "dev": true
3932 4232 },
3933 4233 "node_modules/slash": {
3934 4234 "version": "4.0.0",
... ... @@ -3977,6 +4277,7 @@
3977 4277 "version": "1.3.0",
3978 4278 "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz",
3979 4279 "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
  4280 + "dev": true,
3980 4281 "dependencies": {
3981 4282 "safe-buffer": "~5.2.0"
3982 4283 }
... ... @@ -3985,6 +4286,7 @@
3985 4286 "version": "4.2.3",
3986 4287 "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
3987 4288 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
  4289 + "dev": true,
3988 4290 "dependencies": {
3989 4291 "emoji-regex": "^8.0.0",
3990 4292 "is-fullwidth-code-point": "^3.0.0",
... ... @@ -3998,6 +4300,7 @@
3998 4300 "version": "6.0.1",
3999 4301 "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
4000 4302 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
  4303 + "dev": true,
4001 4304 "dependencies": {
4002 4305 "ansi-regex": "^5.0.1"
4003 4306 },
... ... @@ -4025,6 +4328,7 @@
4025 4328 "version": "7.2.0",
4026 4329 "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
4027 4330 "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
  4331 + "dev": true,
4028 4332 "dependencies": {
4029 4333 "has-flag": "^4.0.0"
4030 4334 },
... ... @@ -4032,6 +4336,15 @@
4032 4336 "node": ">=8"
4033 4337 }
4034 4338 },
  4339 + "node_modules/supports-preserve-symlinks-flag": {
  4340 + "version": "1.0.0",
  4341 + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
  4342 + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
  4343 + "dev": true,
  4344 + "engines": {
  4345 + "node": ">= 0.4"
  4346 + }
  4347 + },
4035 4348 "node_modules/svgo": {
4036 4349 "version": "3.0.3",
4037 4350 "resolved": "https://registry.npmmirror.com/svgo/-/svgo-3.0.3.tgz",
... ... @@ -4250,7 +4563,8 @@
4250 4563 "node_modules/through": {
4251 4564 "version": "2.3.8",
4252 4565 "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz",
4253   - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
  4566 + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
  4567 + "dev": true
4254 4568 },
4255 4569 "node_modules/timers-browserify": {
4256 4570 "version": "2.0.12",
... ... @@ -4268,6 +4582,7 @@
4268 4582 "version": "0.0.33",
4269 4583 "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz",
4270 4584 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
  4585 + "dev": true,
4271 4586 "dependencies": {
4272 4587 "os-tmpdir": "~1.0.2"
4273 4588 },
... ... @@ -4290,12 +4605,14 @@
4290 4605 "node_modules/tslib": {
4291 4606 "version": "2.6.2",
4292 4607 "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz",
4293   - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
  4608 + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
  4609 + "dev": true
4294 4610 },
4295 4611 "node_modules/type-fest": {
4296 4612 "version": "0.21.3",
4297 4613 "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz",
4298 4614 "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
  4615 + "dev": true,
4299 4616 "engines": {
4300 4617 "node": ">=10"
4301 4618 }
... ... @@ -4347,7 +4664,8 @@
4347 4664 "node_modules/util-deprecate": {
4348 4665 "version": "1.0.2",
4349 4666 "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
4350   - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
  4667 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
  4668 + "dev": true
4351 4669 },
4352 4670 "node_modules/utila": {
4353 4671 "version": "0.4.0",
... ... @@ -4431,6 +4749,7 @@
4431 4749 "version": "1.0.1",
4432 4750 "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz",
4433 4751 "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
  4752 + "dev": true,
4434 4753 "dependencies": {
4435 4754 "defaults": "^1.0.3"
4436 4755 }
... ... @@ -4479,6 +4798,56 @@
4479 4798 }
4480 4799 }
4481 4800 },
  4801 + "node_modules/webpack-cli": {
  4802 + "version": "5.1.4",
  4803 + "resolved": "https://registry.npmmirror.com/webpack-cli/-/webpack-cli-5.1.4.tgz",
  4804 + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
  4805 + "dev": true,
  4806 + "dependencies": {
  4807 + "@discoveryjs/json-ext": "^0.5.0",
  4808 + "@webpack-cli/configtest": "^2.1.1",
  4809 + "@webpack-cli/info": "^2.0.2",
  4810 + "@webpack-cli/serve": "^2.0.5",
  4811 + "colorette": "^2.0.14",
  4812 + "commander": "^10.0.1",
  4813 + "cross-spawn": "^7.0.3",
  4814 + "envinfo": "^7.7.3",
  4815 + "fastest-levenshtein": "^1.0.12",
  4816 + "import-local": "^3.0.2",
  4817 + "interpret": "^3.1.1",
  4818 + "rechoir": "^0.8.0",
  4819 + "webpack-merge": "^5.7.3"
  4820 + },
  4821 + "bin": {
  4822 + "webpack-cli": "bin/cli.js"
  4823 + },
  4824 + "engines": {
  4825 + "node": ">=14.15.0"
  4826 + },
  4827 + "peerDependencies": {
  4828 + "webpack": "5.x.x"
  4829 + },
  4830 + "peerDependenciesMeta": {
  4831 + "@webpack-cli/generators": {
  4832 + "optional": true
  4833 + },
  4834 + "webpack-bundle-analyzer": {
  4835 + "optional": true
  4836 + },
  4837 + "webpack-dev-server": {
  4838 + "optional": true
  4839 + }
  4840 + }
  4841 + },
  4842 + "node_modules/webpack-cli/node_modules/commander": {
  4843 + "version": "10.0.1",
  4844 + "resolved": "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz",
  4845 + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
  4846 + "dev": true,
  4847 + "engines": {
  4848 + "node": ">=14"
  4849 + }
  4850 + },
4482 4851 "node_modules/webpack-merge": {
4483 4852 "version": "5.10.0",
4484 4853 "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.10.0.tgz",
... ... @@ -4612,6 +4981,7 @@
4612 4981 },
4613 4982 "node_modules/wrap-ansi": {
4614 4983 "version": "6.2.0",
  4984 + "dev": true,
4615 4985 "license": "MIT",
4616 4986 "dependencies": {
4617 4987 "ansi-styles": "^4.0.0",
... ...
... ... @@ -8,7 +8,8 @@
8 8 "qx-cli-list": "bin/list.js",
9 9 "qx-cli-init": "bin/init.js",
10 10 "qx-cli-build": "bin/build.js",
11   - "qx-cli-start": "bin/start.js"
  11 + "qx-cli-start": "bin/start.js",
  12 + "qx-cli-build-plugin": "bin/build-plugin.js"
12 13 },
13 14 "scripts": {
14 15 "publish:patch": "npm version patch && npm publish",
... ... @@ -17,20 +18,19 @@
17 18 },
18 19 "author": "weimob-fe",
19 20 "license": "ISC",
20   - "dependencies": {
21   - },
22 21 "devDependencies": {
23 22 "chalk": "^4.1.2",
24 23 "commander": "^7.2.0",
25   - "inquirer": "^8.0.0",
26 24 "compression-webpack-plugin": "^10.0.0",
27 25 "copy-webpack-plugin": "^11.0.0",
28 26 "cross-env": "^7.0.3",
29 27 "css-minimizer-webpack-plugin": "^5.0.1",
30 28 "html-webpack-plugin": "^5.5.3",
  29 + "inquirer": "^8.0.0",
31 30 "mini-css-extract-plugin": "^2.7.6",
32 31 "node-polyfill-webpack-plugin": "^2.0.1",
33 32 "vite": "^4.5.0",
  33 + "webpack-cli": "^5.1.4",
34 34 "webpack-merge": "^5.10.0",
35 35 "webpackbar": "^5.0.2"
36 36 }
... ...