@qingtian/qtcli 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qingtian/qtcli",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "QTCli是一款基于node的前端工程化底座",
5
5
  "homepage": "https://gitee.com/fengrengame/qtnode#readme",
6
6
  "bugs": {
@@ -72,6 +72,7 @@
72
72
  "@babel/preset-env": "7.18.2",
73
73
  "@babel/preset-react": "7.17.12",
74
74
  "@babel/preset-typescript": "7.17.12",
75
+ "@commitlint/cli": "^19.8.0",
75
76
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
76
77
  "@svgr/webpack": "^5.5.0",
77
78
  "@types/react": "18.0.12",
@@ -109,6 +110,7 @@
109
110
  "fs-extra": "^10.0.0",
110
111
  "glob-all": "3.3.1",
111
112
  "html-webpack-plugin": "^5.5.0",
113
+ "html-webpack-tags-plugin": "^3.0.0",
112
114
  "husky": "8.0.3",
113
115
  "identity-obj-proxy": "^3.0.0",
114
116
  "inquirer": "8.0.0",
@@ -158,9 +160,8 @@
158
160
  "webpack-manifest-plugin": "^4.0.2",
159
161
  "webpack-merge": "5.8.0",
160
162
  "workbox-webpack-plugin": "^6.4.1",
161
- "yamljs": "0.3.0",
162
- "html-webpack-tags-plugin": "^3.0.0",
163
- "@commitlint/cli": "^19.8.0"
163
+ "xlsx": "^0.18.5",
164
+ "yamljs": "0.3.0"
164
165
  },
165
166
  "devDependencies": {
166
167
  "@types/autoprefixer": "10.2.0",
package/dist/qt.conf.js CHANGED
@@ -54,14 +54,16 @@ module.exports = {
54
54
  },
55
55
  // JavaScript 代码片段注入配置
56
56
  jsInject: {
57
- head: [{
57
+ head: [
58
+ {
58
59
  code: "window.APP_CONFIG = {\n version: '1.0.0',\n env: '".concat(process.env.NODE_ENV, "',\n apiUrl: '").concat(process.env.API_URL, "'\n };"),
59
60
  },
60
61
  {
61
62
  code: "window.initGlobalConfig = function() {\n console.log('Global config initialized');\n };",
62
63
  },
63
64
  ],
64
- body: [{
65
+ body: [
66
+ {
65
67
  code: "document.addEventListener('DOMContentLoaded', function() {\n console.log('DOM loaded');\n window.initGlobalConfig();\n });",
66
68
  },
67
69
  {
@@ -48,10 +48,10 @@ exports.default = (function () {
48
48
  var heat = new commander_1.default.Command('dev');
49
49
  heat
50
50
  .description('开启本地调试服务器')
51
- .option('--https [http]', '启用https', false)
52
- .option('-p, --port <port>', '绑定端口', false)
53
- .option('-d, --domain <host>', '绑定域名', 'localhost')
54
- .option('-o, --open <open>', '自动打开浏览器', false)
51
+ .option('--https [https]', '启用https')
52
+ .option('-p, --port <port>', '绑定端口')
53
+ .option('-d, --domain <host>', '绑定域名')
54
+ .option('-o, --open <open>', '自动打开浏览器')
55
55
  .action(function (options, cmd) { return __awaiter(void 0, void 0, void 0, function () {
56
56
  var cm;
57
57
  return __generator(this, function (_a) {
@@ -43,6 +43,7 @@ var ProcessEnvLoader = /** @class */ (function () {
43
43
  try {
44
44
  // 加载 qtcli.config.js
45
45
  var qtConfigPath = path_1.default.join(rootDir, 'qt.conf.js');
46
+ console.log('qtconfigpat', qtConfigPath, rootDir);
46
47
  if (fs_1.default.existsSync(qtConfigPath)) {
47
48
  this.qtConfig = require(qtConfigPath);
48
49
  // 将 qtConfig 中的环境变量添加到 process.env
@@ -32,7 +32,10 @@ function deepMerge(target, source) {
32
32
  for (var key in source) {
33
33
  var sourceValue = source[key];
34
34
  var targetValue = target[key];
35
- if (sourceValue !== null && typeof sourceValue === 'object' && targetValue !== null && typeof targetValue === 'object') {
35
+ if (sourceValue !== null &&
36
+ typeof sourceValue === 'object' &&
37
+ targetValue !== null &&
38
+ typeof targetValue === 'object') {
36
39
  // 如果是数组,直接合并
37
40
  if (Array.isArray(sourceValue)) {
38
41
  result[key] = __spreadArray(__spreadArray([], targetValue, true), sourceValue, true);
@@ -134,7 +134,9 @@ exports.formatOutput = {
134
134
  return __generator(this, function (_c) {
135
135
  nodes = [];
136
136
  errorMessages = output.errors > 0
137
- ? ((_a = output.buildErrors) === null || _a === void 0 ? void 0 : _a.map(function (error) { return "".concat(colors_1.default.red('ERROR'), " in ").concat(colors_1.default.white("".concat(error.moduleName, "\n").concat(error.message)), "\n").concat(error === null || error === void 0 ? void 0 : error.stack); }).join('\n')) || "".concat(colors_1.default.red(String(output.errors)), " \u4E2A\u9519\u8BEF")
137
+ ? ((_a = output.buildErrors) === null || _a === void 0 ? void 0 : _a.map(function (error) {
138
+ return "".concat(colors_1.default.red('ERROR'), " in ").concat(colors_1.default.white("".concat(error.moduleName, "\n").concat(error.message)), "\n").concat(error === null || error === void 0 ? void 0 : error.stack);
139
+ }).join('\n')) || "".concat(colors_1.default.red(String(output.errors)), " \u4E2A\u9519\u8BEF")
138
140
  : '无错误';
139
141
  nodes.push((0, exports.formatNode)({
140
142
  type: 'process',
@@ -185,18 +187,14 @@ exports.formatOutput = {
185
187
  var nodes, errorMessages, warningMessages, errorText, warningText, timeText;
186
188
  return __generator(this, function (_a) {
187
189
  nodes = [];
188
- errorMessages = output.errorCount > 0
189
- ? formatESLintMessages(output.results, 2)
190
- : '无错误';
190
+ errorMessages = output.errorCount > 0 ? formatESLintMessages(output.results, 2) : '无错误';
191
191
  nodes.push((0, exports.formatNode)({
192
192
  type: 'process',
193
193
  title: 'ESLint错误',
194
194
  content: errorMessages,
195
195
  status: output.errorCount > 0 ? 'error' : 'success',
196
196
  }));
197
- warningMessages = output.warningCount > 0
198
- ? formatESLintMessages(output.results, 1)
199
- : '无警告';
197
+ warningMessages = output.warningCount > 0 ? formatESLintMessages(output.results, 1) : '无警告';
200
198
  nodes.push((0, exports.formatNode)({
201
199
  type: 'process',
202
200
  title: 'ESLint警告',
@@ -63,9 +63,7 @@ var teamData = [
63
63
  },
64
64
  {
65
65
  teamName: '数据猎鹰战队',
66
- members: [
67
- { name: '刘翀', type: '战队队员' },
68
- ],
66
+ members: [{ name: '刘翀', type: '战队队员' }],
69
67
  },
70
68
  ],
71
69
  members: [
@@ -160,20 +158,14 @@ var teamData = [
160
158
  },
161
159
  {
162
160
  teamName: '模块构造者战队',
163
- members: [
164
- { name: '石军强', type: '军团指挥官' },
165
- ],
161
+ members: [{ name: '石军强', type: '军团指挥官' }],
166
162
  },
167
163
  {
168
164
  teamName: '创世者战队',
169
- members: [
170
- { name: '吴桥', type: '战队员' },
171
- ],
165
+ members: [{ name: '吴桥', type: '战队员' }],
172
166
  },
173
167
  ],
174
- members: [
175
- { name: '石军强', type: '军团指挥官' },
176
- ],
168
+ members: [{ name: '石军强', type: '军团指挥官' }],
177
169
  },
178
170
  ];
179
171
  exports.default = teamData;
@@ -58,7 +58,7 @@ function dev() {
58
58
  Object.assign(devServerOptions, {
59
59
  open: (_c = (_b = argCmd === null || argCmd === void 0 ? void 0 : argCmd.open) !== null && _b !== void 0 ? _b : devServerOptions.open) !== null && _c !== void 0 ? _c : false,
60
60
  port: (argCmd === null || argCmd === void 0 ? void 0 : argCmd.port) || process.env.PORT || devServerOptions.port || 'auto',
61
- server: (argCmd === null || argCmd === void 0 ? void 0 : argCmd.http) ? 'https' : devServerOptions.server || 'http',
61
+ server: (argCmd === null || argCmd === void 0 ? void 0 : argCmd.https) ? 'https' : devServerOptions.server || 'http',
62
62
  host: (argCmd === null || argCmd === void 0 ? void 0 : argCmd.domain) || devServerOptions.host || 'localhost',
63
63
  });
64
64
  // 合并代理配置
@@ -5,14 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var mini_css_extract_plugin_1 = __importDefault(require("mini-css-extract-plugin"));
7
7
  var path = require('path');
8
- var globAll = require('glob-all');
8
+ // const globAll = require('glob-all');
9
9
  var CompressionPlugin = require('compression-webpack-plugin');
10
10
  var merge = require('webpack-merge').merge;
11
11
  var baseConfig = require('./webpack.base').default;
12
12
  var CopyPlugin = require('copy-webpack-plugin');
13
13
  var CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
14
14
  var TerserPlugin = require('terser-webpack-plugin');
15
- var PurgeCSSPlugin = require('purgecss-webpack-plugin');
15
+ // const PurgeCSSPlugin = require('purgecss-webpack-plugin');
16
16
  exports.default = merge(baseConfig, {
17
17
  mode: 'production',
18
18
  plugins: [
@@ -30,16 +30,16 @@ exports.default = merge(baseConfig, {
30
30
  new mini_css_extract_plugin_1.default({
31
31
  filename: 'static/css/[name].[contenthash].css',
32
32
  }),
33
- new PurgeCSSPlugin({
34
- paths: globAll.sync([
35
- "".concat(path.join(process.cwd(), './src'), "/**/*.tsx"),
36
- "".concat(path.join(process.cwd(), './src'), "/**/*.jsx"),
37
- path.join(process.cwd(), './public/index.html'),
38
- ]),
39
- safelist: {
40
- standard: [/^ant-/],
41
- },
42
- }),
33
+ // new PurgeCSSPlugin({
34
+ // paths: globAll.sync([
35
+ // `${path.join(process.cwd(), './src')}/**/*.tsx`,
36
+ // `${path.join(process.cwd(), './src')}/**/*.jsx`,
37
+ // path.join(process.cwd(), './public/index.html'),
38
+ // ]),
39
+ // safelist: {
40
+ // standard: [/^ant-/],
41
+ // },
42
+ // }),
43
43
  new CompressionPlugin({
44
44
  test: /.(js|css)$/,
45
45
  filename: '[path][base].gz',
package/package.json CHANGED
@@ -1,203 +1,201 @@
1
- {
2
- "name": "@qingtian/qtcli",
3
- "version": "1.0.1",
4
- "description": "QTCli是一款基于node的前端工程化底座",
5
- "homepage": "https://gitee.com/fengrengame/qtnode#readme",
6
- "bugs": {
7
- "url": "https://gitee.com/fengrengame/qtnode/issues"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://gitee.com/fengrengame/qtnode.git"
12
- },
13
- "license": "ISC",
14
- "author": "yujie.guo",
15
- "type": "commonjs",
16
- "main": "./dist/bin/cli.js",
17
- "bin": {
18
- "qtcli": "./dist/bin/cli.js"
19
- },
20
- "files": [
21
- "dist",
22
- "README.md"
23
- ],
24
- "keywords": [
25
- "cli",
26
- "frontend",
27
- "build-tool",
28
- "webpack",
29
- "react"
30
- ],
31
- "publishConfig": {
32
- "registry": "https://registry.npmjs.org/"
33
- },
34
- "scripts": {
35
- "build": "rimraf ./dist && tsc -p .",
36
- "clean": "rimraf ./dist",
37
- "f2elint-fix": "f2elint fix",
38
- "f2elint-scan": "f2elint scan",
39
- "lint": "eslint .",
40
- "lint:fix": "eslint --fix .",
41
- "prepare": "husky install",
42
- "prepublishOnly": "npm run build",
43
- "start": "node --max-old-space-size=8192 ./node_modules/.bin/ts-node ./bin/cli.ts"
44
- },
45
- "commitlint": {
46
- "extends": [
47
- "ali"
48
- ]
49
- },
50
- "lint-staged": {
51
- "*.{cjs,cts,js,jsx,mjs,mts,ts,tsx,vue}": "eslint --fix",
52
- "*.{css,less,scss}": "stylelint --fix",
53
- "*.{cjs,css,cts,html,js,json,jsx,less,md,mjs,mts,scss,ts,tsx,vue,yaml,yml}": "prettier --write"
54
- },
55
- "eslintConfig": {
56
- "extends": [
57
- "ali/typescript/node"
58
- ]
59
- },
60
- "stylelint": {},
61
- "dependencies": {
62
- "@babel/cli": "7.24.6",
63
- "@babel/core": "^7.16.0",
64
- "@babel/plugin-proposal-class-properties": "7.18.6",
65
- "@babel/plugin-proposal-decorators": "7.18.2",
66
- "@babel/plugin-proposal-object-rest-spread": "7.20.7",
67
- "@babel/plugin-syntax-flow": "7.24.6",
68
- "@babel/plugin-transform-block-scoping": "7.27.0",
69
- "@babel/plugin-transform-flow-strip-types": "7.24.6",
70
- "@babel/plugin-transform-runtime": "7.18.5",
71
- "@babel/plugin-transform-typescript": "7.24.6",
72
- "@babel/preset-env": "7.18.2",
73
- "@babel/preset-react": "7.17.12",
74
- "@babel/preset-typescript": "7.17.12",
75
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
76
- "@svgr/webpack": "^5.5.0",
77
- "@types/react": "18.0.12",
78
- "@types/react-dom": "18.0.5",
79
- "autoprefixer": "10.4.7",
80
- "babel-loader": "^8.2.3",
81
- "babel-plugin-import": "1.13.8",
82
- "babel-plugin-named-asset-import": "^0.3.8",
83
- "babel-preset-react-app": "^10.0.1",
84
- "bfj": "^7.0.2",
85
- "browserslist": "^4.18.1",
86
- "camelcase": "^6.2.1",
87
- "case-sensitive-paths-webpack-plugin": "^2.4.0",
88
- "cli-progress": "3.12.0",
89
- "colors": "1.4.0",
90
- "commander": "12.1.0",
91
- "commitlint-config-ali": "1.1.0",
92
- "compressing": "1.10.0",
93
- "compression-webpack-plugin": "10.0.0",
94
- "copy-webpack-plugin": "11.0.0",
95
- "core-js": "3.23.0",
96
- "cross-env": "7.0.3",
97
- "css-loader": "^6.5.1",
98
- "css-minimizer-webpack-plugin": "^3.2.0",
99
- "dotenv": "^10.0.0",
100
- "dotenv-expand": "^5.1.0",
101
- "eslint": "^8.3.0",
102
- "eslint-config-ali": "15.1.0",
103
- "eslint-config-prettier": "9.1.0",
104
- "eslint-config-react-app": "^7.0.1",
105
- "eslint-plugin-prettier": "5.2.6",
106
- "eslint-webpack-plugin": "^3.1.1",
107
- "extract-zip": "2.0.1",
108
- "file-loader": "^6.2.0",
109
- "fs-extra": "^10.0.0",
110
- "glob-all": "3.3.1",
111
- "html-webpack-plugin": "^5.5.0",
112
- "husky": "8.0.3",
113
- "identity-obj-proxy": "^3.0.0",
114
- "inquirer": "8.0.0",
115
- "less": "4.1.3",
116
- "less-loader": "11.0.0",
117
- "lint-staged": "15.5.1",
118
- "mini-css-extract-plugin": "^2.7.6",
119
- "postcss": "^8.4.38",
120
- "postcss-flexbugs-fixes": "^5.0.2",
121
- "postcss-loader": "^6.2.1",
122
- "postcss-normalize": "^10.0.1",
123
- "postcss-preset-env": "^7.0.1",
124
- "prettier": "3.5.3",
125
- "prettier-config-ali": "1.3.2",
126
- "progress": "2.0.3",
127
- "progress-bar-webpack-plugin": "2.1.0",
128
- "prompts": "^2.4.2",
129
- "purgecss-webpack-plugin": "4.1.3",
130
- "react": "^18.2.0",
131
- "react-app-polyfill": "^3.0.0",
132
- "react-dev-utils": "^12.0.1",
133
- "react-dom": "^18.2.0",
134
- "react-refresh": "^0.11.0",
135
- "resolve": "^1.20.0",
136
- "resolve-url-loader": "^4.0.0",
137
- "rimraf": "5.0.7",
138
- "sass": "1.70.0",
139
- "sass-loader": "^12.3.0",
140
- "semver": "^7.3.5",
141
- "source-map-loader": "^3.0.0",
142
- "speed-measure-webpack-plugin": "1.5.0",
143
- "style-loader": "^3.3.1",
144
- "stylelint": "16.19.1",
145
- "stylelint-config-ali": "2.1.2",
146
- "stylelint-prettier": "5.0.3",
147
- "tailwindcss": "^3.0.2",
148
- "terser-webpack-plugin": "^5.2.5",
149
- "thread-loader": "3.0.4",
150
- "ts-node": "10.9.2",
151
- "typescript": "4.7.3",
152
- "unzip": "0.1.11",
153
- "url-loader": "4.1.1",
154
- "webpack": "^5.64.4",
155
- "webpack-bundle-analyzer": "4.5.0",
156
- "webpack-cli": "4.9.2",
157
- "webpack-dev-server": "^4.6.0",
158
- "webpack-manifest-plugin": "^4.0.2",
159
- "webpack-merge": "5.8.0",
160
- "workbox-webpack-plugin": "^6.4.1",
161
- "yamljs": "0.3.0",
162
-
163
- "html-webpack-tags-plugin": "^3.0.0",
164
-
165
- "@commitlint/cli": "^19.8.0"
166
-
167
- },
168
- "devDependencies": {
169
- "@types/autoprefixer": "10.2.0",
170
- "@types/cli-progress": "3.11.5",
171
- "@types/colors": "1.2.1",
172
- "@types/commander": "2.12.2",
173
- "@types/compression-webpack-plugin": "9.1.1",
174
- "@types/copy-webpack-plugin": "10.1.0",
175
- "@types/css-minimizer-webpack-plugin": "3.2.1",
176
- "@types/extract-zip": "2.0.1",
177
- "@types/glob": "^8.1.0",
178
- "@types/html-webpack-plugin": "3.2.9",
179
- "@types/inquirer": "9.0.7",
180
- "@types/less": "3.0.6",
181
- "@types/mini-css-extract-plugin": "2.5.1",
182
- "@types/node": "14.18.47",
183
- "@types/progress": "2.0.7",
184
- "@types/progress-bar-webpack-plugin": "2.1.5",
185
- "@types/react": "19.1.2",
186
- "@types/react-dom": "19.1.2",
187
- "@types/react-refresh": "0.14.6",
188
- "@types/rimraf": "4.0.5",
189
- "@types/speed-measure-webpack-plugin": "1.3.6",
190
- "@types/typescript": "2.0.0",
191
- "@types/unzip": "0.1.4",
192
- "@types/webpack": "5.28.5",
193
- "@types/webpack-bundle-analyzer": "4.7.0",
194
- "@types/webpack-dev-server": "4.7.2",
195
- "@types/webpack-merge": "5.0.0",
196
- "@types/yamljs": "0.2.34",
197
- "babel-jest": "^27.4.2",
198
- "jest": "^27.4.3",
199
- "jest-resolve": "^27.4.2",
200
- "jest-watch-typeahead": "^1.0.0"
201
- },
202
- "email": "296963166@qq.com"
203
- }
1
+ {
2
+ "name": "@qingtian/qtcli",
3
+ "version": "1.0.2",
4
+ "description": "QTCli是一款基于node的前端工程化底座",
5
+ "homepage": "https://gitee.com/fengrengame/qtnode#readme",
6
+ "bugs": {
7
+ "url": "https://gitee.com/fengrengame/qtnode/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://gitee.com/fengrengame/qtnode.git"
12
+ },
13
+ "license": "ISC",
14
+ "author": "yujie.guo",
15
+ "type": "commonjs",
16
+ "main": "./dist/bin/cli.js",
17
+ "bin": {
18
+ "qtcli": "./dist/bin/cli.js"
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "README.md"
23
+ ],
24
+ "keywords": [
25
+ "cli",
26
+ "frontend",
27
+ "build-tool",
28
+ "webpack",
29
+ "react"
30
+ ],
31
+ "publishConfig": {
32
+ "registry": "https://registry.npmjs.org/"
33
+ },
34
+ "scripts": {
35
+ "build": "rimraf ./dist && tsc -p .",
36
+ "clean": "rimraf ./dist",
37
+ "f2elint-fix": "f2elint fix",
38
+ "f2elint-scan": "f2elint scan",
39
+ "lint": "eslint .",
40
+ "lint:fix": "eslint --fix .",
41
+ "prepare": "husky install",
42
+ "prepublishOnly": "npm run build",
43
+ "start": "node --max-old-space-size=8192 ./node_modules/.bin/ts-node ./bin/cli.ts"
44
+ },
45
+ "commitlint": {
46
+ "extends": [
47
+ "ali"
48
+ ]
49
+ },
50
+ "lint-staged": {
51
+ "*.{cjs,cts,js,jsx,mjs,mts,ts,tsx,vue}": "eslint --fix",
52
+ "*.{css,less,scss}": "stylelint --fix",
53
+ "*.{cjs,css,cts,html,js,json,jsx,less,md,mjs,mts,scss,ts,tsx,vue,yaml,yml}": "prettier --write"
54
+ },
55
+ "eslintConfig": {
56
+ "extends": [
57
+ "ali/typescript/node"
58
+ ]
59
+ },
60
+ "stylelint": {},
61
+ "dependencies": {
62
+ "@babel/cli": "7.24.6",
63
+ "@babel/core": "^7.16.0",
64
+ "@babel/plugin-proposal-class-properties": "7.18.6",
65
+ "@babel/plugin-proposal-decorators": "7.18.2",
66
+ "@babel/plugin-proposal-object-rest-spread": "7.20.7",
67
+ "@babel/plugin-syntax-flow": "7.24.6",
68
+ "@babel/plugin-transform-block-scoping": "7.27.0",
69
+ "@babel/plugin-transform-flow-strip-types": "7.24.6",
70
+ "@babel/plugin-transform-runtime": "7.18.5",
71
+ "@babel/plugin-transform-typescript": "7.24.6",
72
+ "@babel/preset-env": "7.18.2",
73
+ "@babel/preset-react": "7.17.12",
74
+ "@babel/preset-typescript": "7.17.12",
75
+ "@commitlint/cli": "^19.8.0",
76
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
77
+ "@svgr/webpack": "^5.5.0",
78
+ "@types/react": "18.0.12",
79
+ "@types/react-dom": "18.0.5",
80
+ "autoprefixer": "10.4.7",
81
+ "babel-loader": "^8.2.3",
82
+ "babel-plugin-import": "1.13.8",
83
+ "babel-plugin-named-asset-import": "^0.3.8",
84
+ "babel-preset-react-app": "^10.0.1",
85
+ "bfj": "^7.0.2",
86
+ "browserslist": "^4.18.1",
87
+ "camelcase": "^6.2.1",
88
+ "case-sensitive-paths-webpack-plugin": "^2.4.0",
89
+ "cli-progress": "3.12.0",
90
+ "colors": "1.4.0",
91
+ "commander": "12.1.0",
92
+ "commitlint-config-ali": "1.1.0",
93
+ "compressing": "1.10.0",
94
+ "compression-webpack-plugin": "10.0.0",
95
+ "copy-webpack-plugin": "11.0.0",
96
+ "core-js": "3.23.0",
97
+ "cross-env": "7.0.3",
98
+ "css-loader": "^6.5.1",
99
+ "css-minimizer-webpack-plugin": "^3.2.0",
100
+ "dotenv": "^10.0.0",
101
+ "dotenv-expand": "^5.1.0",
102
+ "eslint": "^8.3.0",
103
+ "eslint-config-ali": "15.1.0",
104
+ "eslint-config-prettier": "9.1.0",
105
+ "eslint-config-react-app": "^7.0.1",
106
+ "eslint-plugin-prettier": "5.2.6",
107
+ "eslint-webpack-plugin": "^3.1.1",
108
+ "extract-zip": "2.0.1",
109
+ "file-loader": "^6.2.0",
110
+ "fs-extra": "^10.0.0",
111
+ "glob-all": "3.3.1",
112
+ "html-webpack-plugin": "^5.5.0",
113
+ "html-webpack-tags-plugin": "^3.0.0",
114
+ "husky": "8.0.3",
115
+ "identity-obj-proxy": "^3.0.0",
116
+ "inquirer": "8.0.0",
117
+ "less": "4.1.3",
118
+ "less-loader": "11.0.0",
119
+ "lint-staged": "15.5.1",
120
+ "mini-css-extract-plugin": "^2.7.6",
121
+ "postcss": "^8.4.38",
122
+ "postcss-flexbugs-fixes": "^5.0.2",
123
+ "postcss-loader": "^6.2.1",
124
+ "postcss-normalize": "^10.0.1",
125
+ "postcss-preset-env": "^7.0.1",
126
+ "prettier": "3.5.3",
127
+ "prettier-config-ali": "1.3.2",
128
+ "progress": "2.0.3",
129
+ "progress-bar-webpack-plugin": "2.1.0",
130
+ "prompts": "^2.4.2",
131
+ "purgecss-webpack-plugin": "4.1.3",
132
+ "react": "^18.2.0",
133
+ "react-app-polyfill": "^3.0.0",
134
+ "react-dev-utils": "^12.0.1",
135
+ "react-dom": "^18.2.0",
136
+ "react-refresh": "^0.11.0",
137
+ "resolve": "^1.20.0",
138
+ "resolve-url-loader": "^4.0.0",
139
+ "rimraf": "5.0.7",
140
+ "sass": "1.70.0",
141
+ "sass-loader": "^12.3.0",
142
+ "semver": "^7.3.5",
143
+ "source-map-loader": "^3.0.0",
144
+ "speed-measure-webpack-plugin": "1.5.0",
145
+ "style-loader": "^3.3.1",
146
+ "stylelint": "16.19.1",
147
+ "stylelint-config-ali": "2.1.2",
148
+ "stylelint-prettier": "5.0.3",
149
+ "tailwindcss": "^3.0.2",
150
+ "terser-webpack-plugin": "^5.2.5",
151
+ "thread-loader": "3.0.4",
152
+ "ts-node": "10.9.2",
153
+ "typescript": "4.7.3",
154
+ "unzip": "0.1.11",
155
+ "url-loader": "4.1.1",
156
+ "webpack": "^5.64.4",
157
+ "webpack-bundle-analyzer": "4.5.0",
158
+ "webpack-cli": "4.9.2",
159
+ "webpack-dev-server": "^4.6.0",
160
+ "webpack-manifest-plugin": "^4.0.2",
161
+ "webpack-merge": "5.8.0",
162
+ "workbox-webpack-plugin": "^6.4.1",
163
+ "xlsx": "^0.18.5",
164
+ "yamljs": "0.3.0"
165
+ },
166
+ "devDependencies": {
167
+ "@types/autoprefixer": "10.2.0",
168
+ "@types/cli-progress": "3.11.5",
169
+ "@types/colors": "1.2.1",
170
+ "@types/commander": "2.12.2",
171
+ "@types/compression-webpack-plugin": "9.1.1",
172
+ "@types/copy-webpack-plugin": "10.1.0",
173
+ "@types/css-minimizer-webpack-plugin": "3.2.1",
174
+ "@types/extract-zip": "2.0.1",
175
+ "@types/glob": "^8.1.0",
176
+ "@types/html-webpack-plugin": "3.2.9",
177
+ "@types/inquirer": "9.0.7",
178
+ "@types/less": "3.0.6",
179
+ "@types/mini-css-extract-plugin": "2.5.1",
180
+ "@types/node": "14.18.47",
181
+ "@types/progress": "2.0.7",
182
+ "@types/progress-bar-webpack-plugin": "2.1.5",
183
+ "@types/react": "19.1.2",
184
+ "@types/react-dom": "19.1.2",
185
+ "@types/react-refresh": "0.14.6",
186
+ "@types/rimraf": "4.0.5",
187
+ "@types/speed-measure-webpack-plugin": "1.3.6",
188
+ "@types/typescript": "2.0.0",
189
+ "@types/unzip": "0.1.4",
190
+ "@types/webpack": "5.28.5",
191
+ "@types/webpack-bundle-analyzer": "4.7.0",
192
+ "@types/webpack-dev-server": "4.7.2",
193
+ "@types/webpack-merge": "5.0.0",
194
+ "@types/yamljs": "0.2.34",
195
+ "babel-jest": "^27.4.2",
196
+ "jest": "^27.4.3",
197
+ "jest-resolve": "^27.4.2",
198
+ "jest-watch-typeahead": "^1.0.0"
199
+ },
200
+ "email": "296963166@qq.com"
201
+ }