diff --git a/gulpfile.js b/gulpfile.js index d76923e..8a37131 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -2,6 +2,7 @@ const gulp = require('gulp') const babel = require('gulp-babel') const ts = require('gulp-typescript') const del = require('del') +const swc = require('gulp-swc') // step 1: 如果有对应的产物,此时需要删除 umd cjs esm gulp.task('clean', async () => { @@ -33,7 +34,7 @@ gulp.task('es', () => { module: 'ESNext', }) - return tsProject.src().pipe(tsProject()).pipe(babel()).pipe(gulp.dest('es/')) + return tsProject.src().pipe(tsProject()).pipe(swc()).pipe(gulp.dest('es/')) }) // 使用 TypeScript 编译配置文件 tsconfig.pro.json 中指定的 TypeScript 文件,并生成声明文件,然后将它们复制到 es 和 lib 目录下 diff --git a/package.json b/package.json index 40e8de5..8a55124 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "gray-matter": "^4.0.3", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", + "gulp-swc": "^1.3.2", "gulp-typescript": "^6.0.0-alpha.1", "husky": "^8.0.0", "jest": "^29.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 61d717e..6526635 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -89,7 +89,7 @@ importers: version: 1.1.7 etc-fe-lint: specifier: ^1.1.7 - version: 1.1.7(typescript@5.2.2) + version: 1.1.7(@swc/core@1.3.72)(typescript@5.2.2) fast-glob: specifier: ^3.2.11 version: 3.3.2 @@ -105,6 +105,9 @@ importers: gulp-babel: specifier: ^8.0.0 version: 8.0.0(@babel/core@7.23.3) + gulp-swc: + specifier: ^1.3.2 + version: 1.3.2(@swc/core@1.3.72)(gulp@4.0.2) gulp-typescript: specifier: ^6.0.0-alpha.1 version: 6.0.0-alpha.1(typescript@5.2.2) @@ -161,7 +164,7 @@ importers: version: 5.2.2 webpack: specifier: ^5.89.0 - version: 5.89.0(webpack-cli@5.1.4) + version: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 version: 5.1.4(webpack@5.89.0) @@ -258,7 +261,7 @@ packages: react-dom: ^16.13.1 dependencies: '@gcanvas/core': 1.0.0 - classnames: 2.2.6 + classnames: 2.3.2 omit.js: 2.0.2 prop-types: 15.8.1 react: 18.2.0 @@ -1987,14 +1990,14 @@ packages: resolution: {integrity: sha512-h0OYmPR3A5Dfbetra/GzxBAzQk8sH7LhRkRUTdagX6nrtlUgJGYCTv4bBK33jsTQw9HDd8PE2x1Ma+iRKEDUsw==} dev: true - /@commitlint/cli@16.3.0: + /@commitlint/cli@16.3.0(@swc/core@1.3.72): resolution: {integrity: sha512-P+kvONlfsuTMnxSwWE1H+ZcPMY3STFaHb2kAacsqoIkNx66O0T7sTpBxpxkMrFPyhkJiLJnJWMhk4bbvYD3BMA==} engines: {node: '>=v12'} hasBin: true dependencies: '@commitlint/format': 16.2.1 '@commitlint/lint': 16.2.4 - '@commitlint/load': 16.3.0 + '@commitlint/load': 16.3.0(@swc/core@1.3.72) '@commitlint/read': 16.2.1 '@commitlint/types': 16.2.1 lodash: 4.17.21 @@ -2053,7 +2056,7 @@ packages: '@commitlint/types': 16.2.1 dev: true - /@commitlint/load@16.3.0: + /@commitlint/load@16.3.0(@swc/core@1.3.72): resolution: {integrity: sha512-3tykjV/iwbkv2FU9DG+NZ/JqmP0Nm3b7aDwgCNQhhKV5P74JAuByULkafnhn+zsFGypG1qMtI5u+BZoa9APm0A==} engines: {node: '>=v12'} dependencies: @@ -2064,7 +2067,7 @@ packages: '@types/node': 20.9.1 chalk: 4.1.2 cosmiconfig: 7.1.0 - cosmiconfig-typescript-loader: 2.0.2(@types/node@20.9.1)(cosmiconfig@7.1.0)(typescript@4.9.5) + cosmiconfig-typescript-loader: 2.0.2(@swc/core@1.3.72)(@types/node@20.9.1)(cosmiconfig@7.1.0)(typescript@4.9.5) lodash: 4.17.21 resolve-from: 5.0.0 typescript: 4.9.5 @@ -4595,7 +4598,7 @@ packages: react-refresh: 0.14.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) dev: true /@umijs/renderer-react@4.0.88(react-dom@18.1.0)(react@18.1.0): @@ -4859,7 +4862,7 @@ packages: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.89.0) dev: true @@ -4870,7 +4873,7 @@ packages: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.89.0) dev: true @@ -4885,7 +4888,7 @@ packages: webpack-dev-server: optional: true dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.89.0) dev: true @@ -6856,7 +6859,7 @@ packages: vary: 1.1.2 dev: true - /cosmiconfig-typescript-loader@2.0.2(@types/node@20.9.1)(cosmiconfig@7.1.0)(typescript@4.9.5): + /cosmiconfig-typescript-loader@2.0.2(@swc/core@1.3.72)(@types/node@20.9.1)(cosmiconfig@7.1.0)(typescript@4.9.5): resolution: {integrity: sha512-KmE+bMjWMXJbkWCeY4FJX/npHuZPNr9XF9q9CIQ/bpFwi1qHfCmSiKarrCcRa0LO4fWjk93pVoeRtJAkTGcYNw==} engines: {node: '>=12', npm: '>=6'} peerDependencies: @@ -6866,7 +6869,7 @@ packages: dependencies: '@types/node': 20.9.1 cosmiconfig: 7.1.0 - ts-node: 10.9.1(@types/node@20.9.1)(typescript@4.9.5) + ts-node: 10.9.1(@swc/core@1.3.72)(@types/node@20.9.1)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@swc/core' @@ -7074,7 +7077,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.31) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) dev: true /css-prefers-color-scheme@6.0.3(postcss@8.4.31): @@ -8728,7 +8731,7 @@ packages: require-all: 3.0.0 dev: false - /etc-fe-lint@1.1.7(typescript@5.2.2): + /etc-fe-lint@1.1.7(@swc/core@1.3.72)(typescript@5.2.2): resolution: {integrity: sha512-nnYIegC7OX2zgFKBdrL/Ilt6KtD/DlggKIZpYuZsKkdU6MyqvA/KLvr4UFmfhv64fuwKYP9m8aEm8JFMJe3I2Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -8736,7 +8739,7 @@ packages: '@babel/core': 7.22.17 '@babel/eslint-parser': 7.23.3(@babel/core@7.22.17)(eslint@8.53.0) '@babel/preset-react': 7.23.3(@babel/core@7.22.17) - '@commitlint/cli': 16.3.0 + '@commitlint/cli': 16.3.0(@swc/core@1.3.72) '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@5.2.2) '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@5.2.2) chalk: 4.1.2 @@ -9366,7 +9369,7 @@ packages: semver: 7.5.4 tapable: 2.2.1 typescript: 5.2.2 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) dev: true /form-data@2.3.3: @@ -9734,7 +9737,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -9960,6 +9963,20 @@ packages: - supports-color dev: true + /gulp-swc@1.3.2(@swc/core@1.3.72)(gulp@4.0.2): + resolution: {integrity: sha512-4pthk23bhSiggxs6PWp4JFePLTA1NRNxOs3pDjWMWZNcrXvjB2W40TZWIHwNMh+EGTQ3ROrEq/tBOuPLr0kN3w==} + engines: {node: '>=14'} + peerDependencies: + '@swc/core': ^1.3.46 + gulp: ~3.9.0 || ^4.0.0 + dependencies: + '@swc/core': 1.3.72 + gulp: 4.0.2 + plugin-error: 2.0.1 + replace-ext: 2.0.0 + vinyl-sourcemaps-apply: 0.2.1 + dev: true + /gulp-typescript@6.0.0-alpha.1(typescript@5.2.2): resolution: {integrity: sha512-KoT0TTfjfT7w3JItHkgFH1T/zK4oXWC+a8xxKfniRfVcA0Fa1bKrIhztYelYmb+95RB80OLMBreknYkdwzdi2Q==} engines: {node: '>= 8'} @@ -10382,7 +10399,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) dev: true /html2sketch@1.0.2: @@ -14393,6 +14410,13 @@ packages: extend-shallow: 3.0.2 dev: true + /plugin-error@2.0.1: + resolution: {integrity: sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==} + engines: {node: '>=10.13.0'} + dependencies: + ansi-colors: 1.1.0 + dev: true + /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -15190,7 +15214,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) dev: true /rax-children@1.0.0(rax@1.2.3): @@ -16949,6 +16973,11 @@ packages: engines: {node: '>= 0.10'} dev: true + /replace-ext@2.0.0: + resolution: {integrity: sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==} + engines: {node: '>= 10'} + dev: true + /replace-homedir@1.0.0: resolution: {integrity: sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==} engines: {node: '>= 0.10'} @@ -18401,7 +18430,7 @@ packages: supports-hyperlinks: 2.3.0 dev: true - /terser-webpack-plugin@5.3.9(webpack@5.89.0): + /terser-webpack-plugin@5.3.9(@swc/core@1.3.72)(webpack@5.89.0): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -18418,11 +18447,12 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.20 + '@swc/core': 1.3.72 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.24.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) dev: true /terser@5.24.0: @@ -18686,7 +18716,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-node@10.9.1(@types/node@20.9.1)(typescript@4.9.5): + /ts-node@10.9.1(@swc/core@1.3.72)(@types/node@20.9.1)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -18701,6 +18731,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 + '@swc/core': 1.3.72 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -19649,7 +19680,7 @@ packages: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4) webpack-merge: 5.10.0 dev: true @@ -19667,7 +19698,7 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack@5.89.0(webpack-cli@5.1.4): + /webpack@5.89.0(@swc/core@1.3.72)(webpack-cli@5.1.4): resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} engines: {node: '>=10.13.0'} hasBin: true @@ -19698,7 +19729,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(webpack@5.89.0) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.72)(webpack@5.89.0) watchpack: 2.4.0 webpack-cli: 5.1.4(webpack@5.89.0) webpack-sources: 3.2.3 @@ -19971,7 +20002,7 @@ packages: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.4 + yargs-parser: 20.2.9 dev: true /yargs@17.7.2: