@qse/edu-scripts 1.13.2 → 1.13.3

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.
@@ -1,23 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  const t = require('@babel/types');
4
-
5
4
  const {
6
5
  parse
7
6
  } = require('@babel/parser');
8
-
9
7
  const generate = require('@babel/generator').default;
10
-
11
8
  const traverse = require('@babel/traverse').default;
12
-
13
9
  const {
14
10
  format
15
- } = require('prettier'); // ver.js 中定义模块的数组
16
-
11
+ } = require('prettier');
17
12
 
13
+ // ver.js 中定义模块的数组
18
14
  const TARGET_IDENTIFIER_NAME = 'project_apiArr';
19
15
  const MODULE_IDENTIFIER_NAME = 'module';
20
-
21
16
  function changeDeployVersion(code, pkg) {
22
17
  const {
23
18
  name,
@@ -25,18 +20,16 @@ function changeDeployVersion(code, pkg) {
25
20
  grayscale
26
21
  } = pkg;
27
22
  let ast;
28
-
29
23
  try {
30
24
  ast = parse(code);
31
25
  } catch (error) {
32
26
  throw new Error(`代码解析错误: ${error.message}`);
33
27
  }
34
-
35
28
  const keyName = grayscale ? 'grayscale' : 'main';
29
+
36
30
  /**
37
31
  * @return {babel.NodePath<t.VariableDeclarator> | undefined}
38
32
  */
39
-
40
33
  function findTargetDeclarator(ast) {
41
34
  let res;
42
35
  traverse(ast, {
@@ -47,16 +40,14 @@ function changeDeployVersion(code, pkg) {
47
40
  res = path;
48
41
  }
49
42
  }
50
-
51
43
  });
52
44
  return res;
53
45
  }
46
+
54
47
  /**
55
48
  * @param {babel.NodePath<t.VariableDeclarator>} path
56
49
  * @return {babel.NodePath<t.ObjectExpression> | undefined}
57
50
  */
58
-
59
-
60
51
  function findModuleObject(path) {
61
52
  let res;
62
53
  path.traverse({
@@ -69,15 +60,13 @@ function changeDeployVersion(code, pkg) {
69
60
  res = path;
70
61
  }
71
62
  }
72
-
73
63
  });
74
64
  return res;
75
65
  }
66
+
76
67
  /**
77
68
  * @param {babel.NodePath<t.ObjectExpression>} path
78
69
  */
79
-
80
-
81
70
  function modifyModuleVersion(path) {
82
71
  let hasModify = false;
83
72
  path.traverse({
@@ -87,9 +76,7 @@ function changeDeployVersion(code, pkg) {
87
76
  hasModify = true;
88
77
  }
89
78
  }
90
-
91
79
  });
92
-
93
80
  if (!hasModify) {
94
81
  path.node.properties.push(t.objectProperty(t.identifier(keyName), t.stringLiteral(version)));
95
82
  }
@@ -97,36 +84,29 @@ function changeDeployVersion(code, pkg) {
97
84
  /**
98
85
  * @param {babel.NodePath<t.ObjectExpression>} path
99
86
  */
100
-
101
-
102
87
  function deleteModuleComments(path) {
103
88
  path.traverse({
104
89
  ObjectExpression(path) {
105
90
  delete path.node.leadingComments;
106
91
  }
107
-
108
92
  });
109
93
  }
94
+
110
95
  /**
111
96
  * @param {babel.NodePath<t.VariableDeclarator>} path
112
97
  */
113
-
114
-
115
98
  function addModuleToTarget(path) {
116
99
  const elements = path.node.init.elements;
117
100
  elements.splice(elements.length - 2, 0, t.objectExpression([t.objectProperty(t.identifier(MODULE_IDENTIFIER_NAME), t.stringLiteral(name)), t.objectProperty(t.identifier(keyName), t.stringLiteral(version))]));
118
101
  }
119
-
120
102
  const targetPath = findTargetDeclarator(ast);
121
103
  if (!targetPath) throw new Error(`ver.js 不合规范,未找到参数 ${TARGET_IDENTIFIER_NAME}`);
122
104
  const moduleObjPath = findModuleObject(targetPath);
123
-
124
105
  if (moduleObjPath) {
125
106
  modifyModuleVersion(moduleObjPath);
126
107
  } else {
127
108
  addModuleToTarget(targetPath);
128
109
  }
129
-
130
110
  deleteModuleComments(targetPath);
131
111
  return format(generate(ast, {
132
112
  minified: true
@@ -135,5 +115,4 @@ function changeDeployVersion(code, pkg) {
135
115
  printWidth: 120
136
116
  });
137
117
  }
138
-
139
118
  module.exports = changeDeployVersion;
@@ -1,6 +1,6 @@
1
1
  import type { Configuration } from 'webpack';
2
2
  import type { Configuration as DevServerConfiguration, ProxyConfigArray } from 'webpack-dev-server';
3
- export declare type BabelImportPlugin = [
3
+ export type BabelImportPlugin = [
4
4
  'import',
5
5
  {
6
6
  libraryName: string;
@@ -10,11 +10,11 @@ export declare type BabelImportPlugin = [
10
10
  },
11
11
  string
12
12
  ];
13
- export declare type BabelConfig = {
13
+ export type BabelConfig = {
14
14
  presets: any[];
15
15
  plugins: (string | BabelImportPlugin | any[])[];
16
16
  };
17
- export declare type Config = {
17
+ export type Config = {
18
18
  webpack?: (config: Configuration) => Configuration | undefined;
19
19
  devServer?: (config: DevServerConfiguration) => DevServerConfiguration | undefined;
20
20
  babel?: (config: BabelConfig, type: 'src' | 'node_modules') => any | undefined;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.defineConfig = defineConfig;
7
-
8
7
  function defineConfig(config) {
9
8
  return config;
10
9
  }
package/lib/utils/exec.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  const cp = require('child_process');
4
-
5
4
  const exec = cmd => {
6
5
  console.log(`> ${cmd}`);
7
6
  return cp.execSync(cmd, {
@@ -9,5 +8,4 @@ const exec = cmd => {
9
8
  encoding: 'utf-8'
10
9
  });
11
10
  };
12
-
13
11
  module.exports = exec;
@@ -1,30 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  const getWebpackConfig = require('../config/webpackConfig');
4
-
5
4
  const getWebpackDevServerConfig = require('../config/webpackDevServerConfig');
6
-
7
5
  const getOverride = require('./getOverride');
8
-
9
6
  function getConfig(args) {
10
7
  const override = getOverride();
11
8
  let webpackConfig = getWebpackConfig(args, override);
12
-
13
9
  if (override.webpack) {
14
10
  webpackConfig = override.webpack(webpackConfig) || webpackConfig;
15
11
  }
16
-
17
12
  if (process.env.NODE_ENV === 'development') {
18
13
  let devServerConfig = getWebpackDevServerConfig(args, override);
19
-
20
14
  if (override.devServer) {
21
15
  devServerConfig = override.devServer(devServerConfig) || devServerConfig;
22
16
  }
23
-
24
17
  webpackConfig.devServer = devServerConfig;
25
18
  }
26
-
27
19
  return webpackConfig;
28
20
  }
29
-
30
21
  module.exports = getConfig;
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  const fs = require('fs');
4
-
5
4
  const paths = require('../config/paths');
6
- /** @type {import('./defineConfig').Config} */
7
-
8
5
 
6
+ /** @type {import('./defineConfig').Config} */
9
7
  const defaultOverride = {
10
8
  transformNodeModules: true,
11
9
  minify: 'esbuild',
@@ -13,21 +11,18 @@ const defaultOverride = {
13
11
  extraPostCSSPlugins: []
14
12
  };
15
13
  let override = null;
14
+
16
15
  /**
17
16
  * @return {import('./defineConfig').Config}
18
17
  */
19
-
20
18
  module.exports = function getOverride() {
21
19
  if (override) return override;
22
20
  override = Object.assign({}, defaultOverride);
23
-
24
21
  if (fs.existsSync(paths.override)) {
25
22
  const userOverride = require(paths.override);
26
-
27
23
  if (typeof userOverride !== 'object') throw new Error('格式错误,请使用 npx edu g override 生成文件');
28
24
  Object.assign(override, userOverride);
29
25
  }
30
-
31
26
  if (override.minify === true) override.minify = defaultOverride.minify;
32
27
  return override;
33
28
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qse/edu-scripts",
3
- "version": "1.13.2",
3
+ "version": "1.13.3",
4
4
  "author": "Kinoko",
5
5
  "license": "MIT",
6
6
  "description": "教育工程化基础框架",
@@ -34,66 +34,66 @@
34
34
  "extends": "qsb-react"
35
35
  },
36
36
  "dependencies": {
37
- "@babel/core": "^7.18.2",
38
- "@babel/plugin-proposal-decorators": "^7.18.2",
39
- "@babel/plugin-transform-runtime": "^7.18.2",
40
- "@babel/preset-env": "^7.18.2",
41
- "@babel/preset-react": "^7.17.12",
42
- "@babel/preset-typescript": "^7.17.12",
43
- "@babel/runtime": "^7.18.3",
44
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
37
+ "@babel/core": "^7.21.4",
38
+ "@babel/plugin-proposal-decorators": "^7.21.0",
39
+ "@babel/plugin-transform-runtime": "^7.21.4",
40
+ "@babel/preset-env": "^7.21.4",
41
+ "@babel/preset-react": "^7.18.6",
42
+ "@babel/preset-typescript": "^7.21.4",
43
+ "@babel/runtime": "^7.21.0",
44
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
45
45
  "@qse/ssh-sftp": "^1.0.0",
46
- "@svgr/webpack": "^6.2.1",
47
- "babel-loader": "^8.2.5",
48
- "babel-plugin-import": "^1.13.5",
46
+ "@svgr/webpack": "^7.0.0",
47
+ "babel-loader": "^8.3.0",
48
+ "babel-plugin-import": "^1.13.6",
49
49
  "case-sensitive-paths-webpack-plugin": "^2.4.0",
50
50
  "chalk": "^4.1.2",
51
- "css-loader": "^6.7.1",
52
- "cssnano": "^5.1.11",
53
- "esbuild-loader": "^2.19.0",
51
+ "css-loader": "^6.7.3",
52
+ "cssnano": "^5.1.15",
53
+ "esbuild-loader": "^2.21.0",
54
54
  "file-loader": "^6.2.0",
55
55
  "filesize": "^8.0.7",
56
56
  "fs-extra": "^10.1.0",
57
57
  "globby": "^11.1.0",
58
58
  "gzip-size": "^6.0.0",
59
59
  "html-webpack-plugin": "^5.5.0",
60
- "inquirer": "^8.2.4",
60
+ "inquirer": "^8.2.5",
61
61
  "less": "^3.13.1",
62
62
  "less-loader": "^10.2.0",
63
63
  "lodash": "^4.17.21",
64
- "open": "^8.4.0",
65
- "postcss": "^8.4.14",
64
+ "open": "^8.4.2",
65
+ "postcss": "^8.4.21",
66
66
  "postcss-flexbugs-fixes": "^5.0.2",
67
67
  "postcss-loader": "^6.2.1",
68
68
  "postcss-momentum-scrolling": "^3.14.22",
69
69
  "postcss-normalize": "^8.0.1",
70
- "postcss-preset-env": "^7.7.1",
71
- "prettier": "^2.6.2",
72
- "prettier-plugin-tailwindcss": "^0.1.11",
70
+ "postcss-preset-env": "^7.8.3",
71
+ "prettier": "^2.8.7",
72
+ "prettier-plugin-tailwindcss": "^0.1.13",
73
73
  "react-refresh": "^0.13.0",
74
- "recursive-readdir": "^2.2.2",
74
+ "recursive-readdir": "^2.2.3",
75
75
  "rimraf": "^3.0.2",
76
- "semver": "^7.3.7",
76
+ "semver": "^7.3.8",
77
77
  "strip-ansi": "^6.0.1",
78
- "style-loader": "^3.3.1",
79
- "tailwindcss": "^3.1.2",
80
- "terser-webpack-plugin": "^5.3.3",
78
+ "style-loader": "^3.3.2",
79
+ "tailwindcss": "^3.3.1",
80
+ "terser-webpack-plugin": "~5.3.7",
81
81
  "tmp": "^0.2.1",
82
- "typescript": "^4.7.3",
82
+ "typescript": "^4.9.5",
83
83
  "update-notifier": "^5.1.0",
84
84
  "url-loader": "^4.1.1",
85
- "webpack": "^5.73.0",
86
- "webpack-bundle-analyzer": "^4.5.0",
87
- "webpack-dev-server": "^4.9.2",
88
- "yargs": "^17.5.1"
85
+ "webpack": "~5.76.0",
86
+ "webpack-bundle-analyzer": "~4.8.0",
87
+ "webpack-dev-server": "~4.13.2",
88
+ "yargs": "^17.7.1"
89
89
  },
90
90
  "devDependencies": {
91
91
  "@types/fs-extra": "^9.0.13",
92
- "@types/jest": "^28.1.6",
93
- "@types/yargs": "^17.0.10",
94
- "dumi": "^1.1.42",
95
- "eslint-config-qsb-react": "^1.1.0",
96
- "father-build": "^1.22.3",
92
+ "@types/jest": "^28.1.8",
93
+ "@types/yargs": "^17.0.24",
94
+ "dumi": "^1.1.50",
95
+ "eslint-config-qsb-react": "^1.1.1",
96
+ "father-build": "^1.22.5",
97
97
  "jest": "^28.1.3"
98
98
  }
99
99
  }