feat: add pack module
This commit is contained in:
		| @@ -24,21 +24,25 @@ | |||||||
|   "author": "abearxiong", |   "author": "abearxiong", | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@kevisual/query": "0.0.7-alpha.3", |     "@kevisual/query": "0.0.7-alpha.3", | ||||||
|  |     "@rollup/plugin-alias": "^5.1.1", | ||||||
|     "@rollup/plugin-commonjs": "^28.0.1", |     "@rollup/plugin-commonjs": "^28.0.1", | ||||||
|     "@rollup/plugin-json": "^6.1.0", |     "@rollup/plugin-json": "^6.1.0", | ||||||
|     "@rollup/plugin-node-resolve": "^15.3.0", |     "@rollup/plugin-node-resolve": "^15.3.0", | ||||||
|     "@rollup/plugin-typescript": "^12.1.1", |     "@rollup/plugin-typescript": "^12.1.1", | ||||||
|     "@rollup/plugin-alias": "^5.1.1", |  | ||||||
|     "rollup-plugin-esbuild": "^6.1.1", |  | ||||||
|     "@types/node": "^22.8.6", |     "@types/node": "^22.8.6", | ||||||
|     "chalk": "^5.3.0", |     "chalk": "^5.3.0", | ||||||
|     "commander": "^12.1.0", |     "commander": "^12.1.0", | ||||||
|  |     "fast-glob": "^3.3.2", | ||||||
|  |     "filesize": "^10.1.6", | ||||||
|     "form-data": "^4.0.1", |     "form-data": "^4.0.1", | ||||||
|     "glob": "^11.0.0", |     "glob": "^11.0.0", | ||||||
|  |     "ignore": "^6.0.2", | ||||||
|     "inquirer": "^12.0.1", |     "inquirer": "^12.0.1", | ||||||
|     "rimraf": "^6.0.1", |     "rimraf": "^6.0.1", | ||||||
|     "rollup": "^4.24.3", |     "rollup": "^4.24.3", | ||||||
|     "rollup-plugin-dts": "^6.1.1", |     "rollup-plugin-dts": "^6.1.1", | ||||||
|  |     "rollup-plugin-esbuild": "^6.1.1", | ||||||
|  |     "tar": "^7.4.3", | ||||||
|     "tslib": "^2.8.1", |     "tslib": "^2.8.1", | ||||||
|     "typescript": "^5.6.3" |     "typescript": "^5.6.3" | ||||||
|   }, |   }, | ||||||
|   | |||||||
							
								
								
									
										272
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										272
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							| @@ -14,15 +14,9 @@ importers: | |||||||
|       '@kevisual/router': |       '@kevisual/router': | ||||||
|         specifier: ^0.0.3 |         specifier: ^0.0.3 | ||||||
|         version: 0.0.3 |         version: 0.0.3 | ||||||
|       '@rollup/plugin-alias': |  | ||||||
|         specifier: ^5.1.1 |  | ||||||
|         version: 5.1.1(rollup@4.24.3) |  | ||||||
|       pg-hstore: |       pg-hstore: | ||||||
|         specifier: ^2.3.4 |         specifier: ^2.3.4 | ||||||
|         version: 2.3.4 |         version: 2.3.4 | ||||||
|       rollup-plugin-esbuild: |  | ||||||
|         specifier: ^6.1.1 |  | ||||||
|         version: 6.1.1(esbuild@0.21.5)(rollup@4.24.3) |  | ||||||
|       sequelize: |       sequelize: | ||||||
|         specifier: ^6.37.5 |         specifier: ^6.37.5 | ||||||
|         version: 6.37.5(pg-hstore@2.3.4)(sqlite3@5.1.7) |         version: 6.37.5(pg-hstore@2.3.4)(sqlite3@5.1.7) | ||||||
| @@ -36,6 +30,9 @@ importers: | |||||||
|       '@kevisual/query': |       '@kevisual/query': | ||||||
|         specifier: 0.0.7-alpha.3 |         specifier: 0.0.7-alpha.3 | ||||||
|         version: 0.0.7-alpha.3 |         version: 0.0.7-alpha.3 | ||||||
|  |       '@rollup/plugin-alias': | ||||||
|  |         specifier: ^5.1.1 | ||||||
|  |         version: 5.1.1(rollup@4.24.3) | ||||||
|       '@rollup/plugin-commonjs': |       '@rollup/plugin-commonjs': | ||||||
|         specifier: ^28.0.1 |         specifier: ^28.0.1 | ||||||
|         version: 28.0.1(rollup@4.24.3) |         version: 28.0.1(rollup@4.24.3) | ||||||
| @@ -57,12 +54,21 @@ importers: | |||||||
|       commander: |       commander: | ||||||
|         specifier: ^12.1.0 |         specifier: ^12.1.0 | ||||||
|         version: 12.1.0 |         version: 12.1.0 | ||||||
|  |       fast-glob: | ||||||
|  |         specifier: ^3.3.2 | ||||||
|  |         version: 3.3.2 | ||||||
|  |       filesize: | ||||||
|  |         specifier: ^10.1.6 | ||||||
|  |         version: 10.1.6 | ||||||
|       form-data: |       form-data: | ||||||
|         specifier: ^4.0.1 |         specifier: ^4.0.1 | ||||||
|         version: 4.0.1 |         version: 4.0.1 | ||||||
|       glob: |       glob: | ||||||
|         specifier: ^11.0.0 |         specifier: ^11.0.0 | ||||||
|         version: 11.0.0 |         version: 11.0.0 | ||||||
|  |       ignore: | ||||||
|  |         specifier: ^6.0.2 | ||||||
|  |         version: 6.0.2 | ||||||
|       inquirer: |       inquirer: | ||||||
|         specifier: ^12.0.1 |         specifier: ^12.0.1 | ||||||
|         version: 12.0.1(@types/node@22.8.6) |         version: 12.0.1(@types/node@22.8.6) | ||||||
| @@ -75,6 +81,12 @@ importers: | |||||||
|       rollup-plugin-dts: |       rollup-plugin-dts: | ||||||
|         specifier: ^6.1.1 |         specifier: ^6.1.1 | ||||||
|         version: 6.1.1(rollup@4.24.3)(typescript@5.6.3) |         version: 6.1.1(rollup@4.24.3)(typescript@5.6.3) | ||||||
|  |       rollup-plugin-esbuild: | ||||||
|  |         specifier: ^6.1.1 | ||||||
|  |         version: 6.1.1(esbuild@0.21.5)(rollup@4.24.3) | ||||||
|  |       tar: | ||||||
|  |         specifier: ^7.4.3 | ||||||
|  |         version: 7.4.3 | ||||||
|       tslib: |       tslib: | ||||||
|         specifier: ^2.8.1 |         specifier: ^2.8.1 | ||||||
|         version: 2.8.1 |         version: 2.8.1 | ||||||
| @@ -317,6 +329,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} |     resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} | ||||||
|     engines: {node: '>=12'} |     engines: {node: '>=12'} | ||||||
|  |  | ||||||
|  |   '@isaacs/fs-minipass@4.0.1': | ||||||
|  |     resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} | ||||||
|  |     engines: {node: '>=18.0.0'} | ||||||
|  |  | ||||||
|   '@jridgewell/sourcemap-codec@1.5.0': |   '@jridgewell/sourcemap-codec@1.5.0': | ||||||
|     resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} |     resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} | ||||||
|  |  | ||||||
| @@ -326,6 +342,18 @@ packages: | |||||||
|   '@kevisual/router@0.0.3': |   '@kevisual/router@0.0.3': | ||||||
|     resolution: {integrity: sha512-azWjrcto8ngTK/Jq9LiFcIFnop9Oi7jJzH+tqNXvjwMA3Ex3lLRslhsRZrJLGSx8VFaHRf9+7LN7ceMJfozyhw==} |     resolution: {integrity: sha512-azWjrcto8ngTK/Jq9LiFcIFnop9Oi7jJzH+tqNXvjwMA3Ex3lLRslhsRZrJLGSx8VFaHRf9+7LN7ceMJfozyhw==} | ||||||
|  |  | ||||||
|  |   '@nodelib/fs.scandir@2.1.5': | ||||||
|  |     resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} | ||||||
|  |     engines: {node: '>= 8'} | ||||||
|  |  | ||||||
|  |   '@nodelib/fs.stat@2.0.5': | ||||||
|  |     resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} | ||||||
|  |     engines: {node: '>= 8'} | ||||||
|  |  | ||||||
|  |   '@nodelib/fs.walk@1.2.8': | ||||||
|  |     resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} | ||||||
|  |     engines: {node: '>= 8'} | ||||||
|  |  | ||||||
|   '@npmcli/fs@1.1.1': |   '@npmcli/fs@1.1.1': | ||||||
|     resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} |     resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} | ||||||
|  |  | ||||||
| @@ -334,6 +362,10 @@ packages: | |||||||
|     engines: {node: '>=10'} |     engines: {node: '>=10'} | ||||||
|     deprecated: This functionality has been moved to @npmcli/fs |     deprecated: This functionality has been moved to @npmcli/fs | ||||||
|  |  | ||||||
|  |   '@pkgjs/parseargs@0.11.0': | ||||||
|  |     resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} | ||||||
|  |     engines: {node: '>=14'} | ||||||
|  |  | ||||||
|   '@rollup/plugin-alias@5.1.1': |   '@rollup/plugin-alias@5.1.1': | ||||||
|     resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} |     resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} | ||||||
|     engines: {node: '>=14.0.0'} |     engines: {node: '>=14.0.0'} | ||||||
| @@ -577,6 +609,10 @@ packages: | |||||||
|   brace-expansion@2.0.1: |   brace-expansion@2.0.1: | ||||||
|     resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} |     resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} | ||||||
|  |  | ||||||
|  |   braces@3.0.3: | ||||||
|  |     resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} | ||||||
|  |     engines: {node: '>=8'} | ||||||
|  |  | ||||||
|   buffer@5.7.1: |   buffer@5.7.1: | ||||||
|     resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} |     resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} | ||||||
|  |  | ||||||
| @@ -598,6 +634,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} |     resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} | ||||||
|     engines: {node: '>=10'} |     engines: {node: '>=10'} | ||||||
|  |  | ||||||
|  |   chownr@3.0.0: | ||||||
|  |     resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} | ||||||
|  |     engines: {node: '>=18'} | ||||||
|  |  | ||||||
|   clean-stack@2.2.0: |   clean-stack@2.2.0: | ||||||
|     resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} |     resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} | ||||||
|     engines: {node: '>=6'} |     engines: {node: '>=6'} | ||||||
| @@ -714,6 +754,13 @@ packages: | |||||||
|     resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} |     resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} | ||||||
|     engines: {node: '>=4'} |     engines: {node: '>=4'} | ||||||
|  |  | ||||||
|  |   fast-glob@3.3.2: | ||||||
|  |     resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} | ||||||
|  |     engines: {node: '>=8.6.0'} | ||||||
|  |  | ||||||
|  |   fastq@1.17.1: | ||||||
|  |     resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} | ||||||
|  |  | ||||||
|   fdir@6.4.0: |   fdir@6.4.0: | ||||||
|     resolution: {integrity: sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==} |     resolution: {integrity: sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==} | ||||||
|     peerDependencies: |     peerDependencies: | ||||||
| @@ -725,6 +772,14 @@ packages: | |||||||
|   file-uri-to-path@1.0.0: |   file-uri-to-path@1.0.0: | ||||||
|     resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} |     resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} | ||||||
|  |  | ||||||
|  |   filesize@10.1.6: | ||||||
|  |     resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} | ||||||
|  |     engines: {node: '>= 10.4.0'} | ||||||
|  |  | ||||||
|  |   fill-range@7.1.1: | ||||||
|  |     resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} | ||||||
|  |     engines: {node: '>=8'} | ||||||
|  |  | ||||||
|   foreground-child@3.3.0: |   foreground-child@3.3.0: | ||||||
|     resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} |     resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} | ||||||
|     engines: {node: '>=14'} |     engines: {node: '>=14'} | ||||||
| @@ -762,6 +817,14 @@ packages: | |||||||
|   github-from-package@0.0.0: |   github-from-package@0.0.0: | ||||||
|     resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} |     resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} | ||||||
|  |  | ||||||
|  |   glob-parent@5.1.2: | ||||||
|  |     resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} | ||||||
|  |     engines: {node: '>= 6'} | ||||||
|  |  | ||||||
|  |   glob@10.4.5: | ||||||
|  |     resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} | ||||||
|  |     hasBin: true | ||||||
|  |  | ||||||
|   glob@11.0.0: |   glob@11.0.0: | ||||||
|     resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} |     resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} | ||||||
|     engines: {node: 20 || >=22} |     engines: {node: 20 || >=22} | ||||||
| @@ -806,6 +869,10 @@ packages: | |||||||
|   ieee754@1.2.1: |   ieee754@1.2.1: | ||||||
|     resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} |     resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} | ||||||
|  |  | ||||||
|  |   ignore@6.0.2: | ||||||
|  |     resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==} | ||||||
|  |     engines: {node: '>= 4'} | ||||||
|  |  | ||||||
|   imurmurhash@0.1.4: |   imurmurhash@0.1.4: | ||||||
|     resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} |     resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} | ||||||
|     engines: {node: '>=0.8.19'} |     engines: {node: '>=0.8.19'} | ||||||
| @@ -845,22 +912,37 @@ packages: | |||||||
|     resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} |     resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} | ||||||
|     engines: {node: '>= 0.4'} |     engines: {node: '>= 0.4'} | ||||||
|  |  | ||||||
|  |   is-extglob@2.1.1: | ||||||
|  |     resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} | ||||||
|  |     engines: {node: '>=0.10.0'} | ||||||
|  |  | ||||||
|   is-fullwidth-code-point@3.0.0: |   is-fullwidth-code-point@3.0.0: | ||||||
|     resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} |     resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} | ||||||
|     engines: {node: '>=8'} |     engines: {node: '>=8'} | ||||||
|  |  | ||||||
|  |   is-glob@4.0.3: | ||||||
|  |     resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} | ||||||
|  |     engines: {node: '>=0.10.0'} | ||||||
|  |  | ||||||
|   is-lambda@1.0.1: |   is-lambda@1.0.1: | ||||||
|     resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} |     resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} | ||||||
|  |  | ||||||
|   is-module@1.0.0: |   is-module@1.0.0: | ||||||
|     resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} |     resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} | ||||||
|  |  | ||||||
|  |   is-number@7.0.0: | ||||||
|  |     resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} | ||||||
|  |     engines: {node: '>=0.12.0'} | ||||||
|  |  | ||||||
|   is-reference@1.2.1: |   is-reference@1.2.1: | ||||||
|     resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} |     resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} | ||||||
|  |  | ||||||
|   isexe@2.0.0: |   isexe@2.0.0: | ||||||
|     resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} |     resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} | ||||||
|  |  | ||||||
|  |   jackspeak@3.4.3: | ||||||
|  |     resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} | ||||||
|  |  | ||||||
|   jackspeak@4.0.2: |   jackspeak@4.0.2: | ||||||
|     resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} |     resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} | ||||||
|     engines: {node: 20 || >=22} |     engines: {node: 20 || >=22} | ||||||
| @@ -874,6 +956,9 @@ packages: | |||||||
|   lodash@4.17.21: |   lodash@4.17.21: | ||||||
|     resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} |     resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} | ||||||
|  |  | ||||||
|  |   lru-cache@10.4.3: | ||||||
|  |     resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} | ||||||
|  |  | ||||||
|   lru-cache@11.0.1: |   lru-cache@11.0.1: | ||||||
|     resolution: {integrity: sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==} |     resolution: {integrity: sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==} | ||||||
|     engines: {node: 20 || >=22} |     engines: {node: 20 || >=22} | ||||||
| @@ -889,6 +974,14 @@ packages: | |||||||
|     resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} |     resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} | ||||||
|     engines: {node: '>= 10'} |     engines: {node: '>= 10'} | ||||||
|  |  | ||||||
|  |   merge2@1.4.1: | ||||||
|  |     resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} | ||||||
|  |     engines: {node: '>= 8'} | ||||||
|  |  | ||||||
|  |   micromatch@4.0.8: | ||||||
|  |     resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} | ||||||
|  |     engines: {node: '>=8.6'} | ||||||
|  |  | ||||||
|   mime-db@1.52.0: |   mime-db@1.52.0: | ||||||
|     resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} |     resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} | ||||||
|     engines: {node: '>= 0.6'} |     engines: {node: '>= 0.6'} | ||||||
| @@ -908,6 +1001,10 @@ packages: | |||||||
|   minimatch@3.1.2: |   minimatch@3.1.2: | ||||||
|     resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} |     resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} | ||||||
|  |  | ||||||
|  |   minimatch@9.0.5: | ||||||
|  |     resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} | ||||||
|  |     engines: {node: '>=16 || 14 >=14.17'} | ||||||
|  |  | ||||||
|   minimist@1.2.8: |   minimist@1.2.8: | ||||||
|     resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} |     resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} | ||||||
|  |  | ||||||
| @@ -947,6 +1044,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} |     resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} | ||||||
|     engines: {node: '>= 8'} |     engines: {node: '>= 8'} | ||||||
|  |  | ||||||
|  |   minizlib@3.0.1: | ||||||
|  |     resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} | ||||||
|  |     engines: {node: '>= 18'} | ||||||
|  |  | ||||||
|   mkdirp-classic@0.5.3: |   mkdirp-classic@0.5.3: | ||||||
|     resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} |     resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} | ||||||
|  |  | ||||||
| @@ -955,6 +1056,11 @@ packages: | |||||||
|     engines: {node: '>=10'} |     engines: {node: '>=10'} | ||||||
|     hasBin: true |     hasBin: true | ||||||
|  |  | ||||||
|  |   mkdirp@3.0.1: | ||||||
|  |     resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} | ||||||
|  |     engines: {node: '>=10'} | ||||||
|  |     hasBin: true | ||||||
|  |  | ||||||
|   moment-timezone@0.5.46: |   moment-timezone@0.5.46: | ||||||
|     resolution: {integrity: sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==} |     resolution: {integrity: sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==} | ||||||
|  |  | ||||||
| @@ -1027,6 +1133,10 @@ packages: | |||||||
|   path-parse@1.0.7: |   path-parse@1.0.7: | ||||||
|     resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} |     resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} | ||||||
|  |  | ||||||
|  |   path-scurry@1.11.1: | ||||||
|  |     resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} | ||||||
|  |     engines: {node: '>=16 || 14 >=14.18'} | ||||||
|  |  | ||||||
|   path-scurry@2.0.0: |   path-scurry@2.0.0: | ||||||
|     resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} |     resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} | ||||||
|     engines: {node: 20 || >=22} |     engines: {node: 20 || >=22} | ||||||
| @@ -1069,6 +1179,9 @@ packages: | |||||||
|   pump@3.0.2: |   pump@3.0.2: | ||||||
|     resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} |     resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} | ||||||
|  |  | ||||||
|  |   queue-microtask@1.2.3: | ||||||
|  |     resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} | ||||||
|  |  | ||||||
|   rc@1.2.8: |   rc@1.2.8: | ||||||
|     resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} |     resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} | ||||||
|     hasBin: true |     hasBin: true | ||||||
| @@ -1091,11 +1204,19 @@ packages: | |||||||
|     resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} |     resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} | ||||||
|     engines: {node: '>= 4'} |     engines: {node: '>= 4'} | ||||||
|  |  | ||||||
|  |   reusify@1.0.4: | ||||||
|  |     resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} | ||||||
|  |     engines: {iojs: '>=1.0.0', node: '>=0.10.0'} | ||||||
|  |  | ||||||
|   rimraf@3.0.2: |   rimraf@3.0.2: | ||||||
|     resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} |     resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} | ||||||
|     deprecated: Rimraf versions prior to v4 are no longer supported |     deprecated: Rimraf versions prior to v4 are no longer supported | ||||||
|     hasBin: true |     hasBin: true | ||||||
|  |  | ||||||
|  |   rimraf@5.0.10: | ||||||
|  |     resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} | ||||||
|  |     hasBin: true | ||||||
|  |  | ||||||
|   rimraf@6.0.1: |   rimraf@6.0.1: | ||||||
|     resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} |     resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} | ||||||
|     engines: {node: 20 || >=22} |     engines: {node: 20 || >=22} | ||||||
| @@ -1124,6 +1245,9 @@ packages: | |||||||
|     resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} |     resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} | ||||||
|     engines: {node: '>=0.12.0'} |     engines: {node: '>=0.12.0'} | ||||||
|  |  | ||||||
|  |   run-parallel@1.2.0: | ||||||
|  |     resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} | ||||||
|  |  | ||||||
|   rxjs@7.8.1: |   rxjs@7.8.1: | ||||||
|     resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} |     resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} | ||||||
|  |  | ||||||
| @@ -1263,10 +1387,18 @@ packages: | |||||||
|     resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} |     resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} | ||||||
|     engines: {node: '>=10'} |     engines: {node: '>=10'} | ||||||
|  |  | ||||||
|  |   tar@7.4.3: | ||||||
|  |     resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} | ||||||
|  |     engines: {node: '>=18'} | ||||||
|  |  | ||||||
|   tmp@0.0.33: |   tmp@0.0.33: | ||||||
|     resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} |     resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} | ||||||
|     engines: {node: '>=0.6.0'} |     engines: {node: '>=0.6.0'} | ||||||
|  |  | ||||||
|  |   to-regex-range@5.0.1: | ||||||
|  |     resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} | ||||||
|  |     engines: {node: '>=8.0'} | ||||||
|  |  | ||||||
|   toposort-class@1.0.1: |   toposort-class@1.0.1: | ||||||
|     resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} |     resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} | ||||||
|  |  | ||||||
| @@ -1380,6 +1512,10 @@ packages: | |||||||
|   yallist@4.0.0: |   yallist@4.0.0: | ||||||
|     resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} |     resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} | ||||||
|  |  | ||||||
|  |   yallist@5.0.0: | ||||||
|  |     resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} | ||||||
|  |     engines: {node: '>=18'} | ||||||
|  |  | ||||||
|   yoctocolors-cjs@2.1.2: |   yoctocolors-cjs@2.1.2: | ||||||
|     resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} |     resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} | ||||||
|     engines: {node: '>=18'} |     engines: {node: '>=18'} | ||||||
| @@ -1583,6 +1719,10 @@ snapshots: | |||||||
|       wrap-ansi: 8.1.0 |       wrap-ansi: 8.1.0 | ||||||
|       wrap-ansi-cjs: wrap-ansi@7.0.0 |       wrap-ansi-cjs: wrap-ansi@7.0.0 | ||||||
|  |  | ||||||
|  |   '@isaacs/fs-minipass@4.0.1': | ||||||
|  |     dependencies: | ||||||
|  |       minipass: 7.1.2 | ||||||
|  |  | ||||||
|   '@jridgewell/sourcemap-codec@1.5.0': {} |   '@jridgewell/sourcemap-codec@1.5.0': {} | ||||||
|  |  | ||||||
|   '@kevisual/query@0.0.7-alpha.3': {} |   '@kevisual/query@0.0.7-alpha.3': {} | ||||||
| @@ -1594,6 +1734,18 @@ snapshots: | |||||||
|       - bufferutil |       - bufferutil | ||||||
|       - utf-8-validate |       - utf-8-validate | ||||||
|  |  | ||||||
|  |   '@nodelib/fs.scandir@2.1.5': | ||||||
|  |     dependencies: | ||||||
|  |       '@nodelib/fs.stat': 2.0.5 | ||||||
|  |       run-parallel: 1.2.0 | ||||||
|  |  | ||||||
|  |   '@nodelib/fs.stat@2.0.5': {} | ||||||
|  |  | ||||||
|  |   '@nodelib/fs.walk@1.2.8': | ||||||
|  |     dependencies: | ||||||
|  |       '@nodelib/fs.scandir': 2.1.5 | ||||||
|  |       fastq: 1.17.1 | ||||||
|  |  | ||||||
|   '@npmcli/fs@1.1.1': |   '@npmcli/fs@1.1.1': | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@gar/promisify': 1.1.3 |       '@gar/promisify': 1.1.3 | ||||||
| @@ -1606,6 +1758,9 @@ snapshots: | |||||||
|       rimraf: 3.0.2 |       rimraf: 3.0.2 | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
|  |   '@pkgjs/parseargs@0.11.0': | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|   '@rollup/plugin-alias@5.1.1(rollup@4.24.3)': |   '@rollup/plugin-alias@5.1.1(rollup@4.24.3)': | ||||||
|     optionalDependencies: |     optionalDependencies: | ||||||
|       rollup: 4.24.3 |       rollup: 4.24.3 | ||||||
| @@ -1798,6 +1953,10 @@ snapshots: | |||||||
|     dependencies: |     dependencies: | ||||||
|       balanced-match: 1.0.2 |       balanced-match: 1.0.2 | ||||||
|  |  | ||||||
|  |   braces@3.0.3: | ||||||
|  |     dependencies: | ||||||
|  |       fill-range: 7.1.1 | ||||||
|  |  | ||||||
|   buffer@5.7.1: |   buffer@5.7.1: | ||||||
|     dependencies: |     dependencies: | ||||||
|       base64-js: 1.5.1 |       base64-js: 1.5.1 | ||||||
| @@ -1835,6 +1994,8 @@ snapshots: | |||||||
|  |  | ||||||
|   chownr@2.0.0: {} |   chownr@2.0.0: {} | ||||||
|  |  | ||||||
|  |   chownr@3.0.0: {} | ||||||
|  |  | ||||||
|   clean-stack@2.2.0: |   clean-stack@2.2.0: | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
| @@ -1949,12 +2110,30 @@ snapshots: | |||||||
|       iconv-lite: 0.4.24 |       iconv-lite: 0.4.24 | ||||||
|       tmp: 0.0.33 |       tmp: 0.0.33 | ||||||
|  |  | ||||||
|  |   fast-glob@3.3.2: | ||||||
|  |     dependencies: | ||||||
|  |       '@nodelib/fs.stat': 2.0.5 | ||||||
|  |       '@nodelib/fs.walk': 1.2.8 | ||||||
|  |       glob-parent: 5.1.2 | ||||||
|  |       merge2: 1.4.1 | ||||||
|  |       micromatch: 4.0.8 | ||||||
|  |  | ||||||
|  |   fastq@1.17.1: | ||||||
|  |     dependencies: | ||||||
|  |       reusify: 1.0.4 | ||||||
|  |  | ||||||
|   fdir@6.4.0(picomatch@4.0.2): |   fdir@6.4.0(picomatch@4.0.2): | ||||||
|     optionalDependencies: |     optionalDependencies: | ||||||
|       picomatch: 4.0.2 |       picomatch: 4.0.2 | ||||||
|  |  | ||||||
|   file-uri-to-path@1.0.0: {} |   file-uri-to-path@1.0.0: {} | ||||||
|  |  | ||||||
|  |   filesize@10.1.6: {} | ||||||
|  |  | ||||||
|  |   fill-range@7.1.1: | ||||||
|  |     dependencies: | ||||||
|  |       to-regex-range: 5.0.1 | ||||||
|  |  | ||||||
|   foreground-child@3.3.0: |   foreground-child@3.3.0: | ||||||
|     dependencies: |     dependencies: | ||||||
|       cross-spawn: 7.0.3 |       cross-spawn: 7.0.3 | ||||||
| @@ -1998,6 +2177,19 @@ snapshots: | |||||||
|  |  | ||||||
|   github-from-package@0.0.0: {} |   github-from-package@0.0.0: {} | ||||||
|  |  | ||||||
|  |   glob-parent@5.1.2: | ||||||
|  |     dependencies: | ||||||
|  |       is-glob: 4.0.3 | ||||||
|  |  | ||||||
|  |   glob@10.4.5: | ||||||
|  |     dependencies: | ||||||
|  |       foreground-child: 3.3.0 | ||||||
|  |       jackspeak: 3.4.3 | ||||||
|  |       minimatch: 9.0.5 | ||||||
|  |       minipass: 7.1.2 | ||||||
|  |       package-json-from-dist: 1.0.1 | ||||||
|  |       path-scurry: 1.11.1 | ||||||
|  |  | ||||||
|   glob@11.0.0: |   glob@11.0.0: | ||||||
|     dependencies: |     dependencies: | ||||||
|       foreground-child: 3.3.0 |       foreground-child: 3.3.0 | ||||||
| @@ -2063,6 +2255,8 @@ snapshots: | |||||||
|  |  | ||||||
|   ieee754@1.2.1: {} |   ieee754@1.2.1: {} | ||||||
|  |  | ||||||
|  |   ignore@6.0.2: {} | ||||||
|  |  | ||||||
|   imurmurhash@0.1.4: |   imurmurhash@0.1.4: | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
| @@ -2105,19 +2299,33 @@ snapshots: | |||||||
|     dependencies: |     dependencies: | ||||||
|       hasown: 2.0.2 |       hasown: 2.0.2 | ||||||
|  |  | ||||||
|  |   is-extglob@2.1.1: {} | ||||||
|  |  | ||||||
|   is-fullwidth-code-point@3.0.0: {} |   is-fullwidth-code-point@3.0.0: {} | ||||||
|  |  | ||||||
|  |   is-glob@4.0.3: | ||||||
|  |     dependencies: | ||||||
|  |       is-extglob: 2.1.1 | ||||||
|  |  | ||||||
|   is-lambda@1.0.1: |   is-lambda@1.0.1: | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
|   is-module@1.0.0: {} |   is-module@1.0.0: {} | ||||||
|  |  | ||||||
|  |   is-number@7.0.0: {} | ||||||
|  |  | ||||||
|   is-reference@1.2.1: |   is-reference@1.2.1: | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/estree': 1.0.6 |       '@types/estree': 1.0.6 | ||||||
|  |  | ||||||
|   isexe@2.0.0: {} |   isexe@2.0.0: {} | ||||||
|  |  | ||||||
|  |   jackspeak@3.4.3: | ||||||
|  |     dependencies: | ||||||
|  |       '@isaacs/cliui': 8.0.2 | ||||||
|  |     optionalDependencies: | ||||||
|  |       '@pkgjs/parseargs': 0.11.0 | ||||||
|  |  | ||||||
|   jackspeak@4.0.2: |   jackspeak@4.0.2: | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@isaacs/cliui': 8.0.2 |       '@isaacs/cliui': 8.0.2 | ||||||
| @@ -2130,6 +2338,8 @@ snapshots: | |||||||
|  |  | ||||||
|   lodash@4.17.21: {} |   lodash@4.17.21: {} | ||||||
|  |  | ||||||
|  |   lru-cache@10.4.3: {} | ||||||
|  |  | ||||||
|   lru-cache@11.0.1: {} |   lru-cache@11.0.1: {} | ||||||
|  |  | ||||||
|   lru-cache@6.0.0: |   lru-cache@6.0.0: | ||||||
| @@ -2164,6 +2374,13 @@ snapshots: | |||||||
|       - supports-color |       - supports-color | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
|  |   merge2@1.4.1: {} | ||||||
|  |  | ||||||
|  |   micromatch@4.0.8: | ||||||
|  |     dependencies: | ||||||
|  |       braces: 3.0.3 | ||||||
|  |       picomatch: 4.0.2 | ||||||
|  |  | ||||||
|   mime-db@1.52.0: {} |   mime-db@1.52.0: {} | ||||||
|  |  | ||||||
|   mime-types@2.1.35: |   mime-types@2.1.35: | ||||||
| @@ -2181,6 +2398,10 @@ snapshots: | |||||||
|       brace-expansion: 1.1.11 |       brace-expansion: 1.1.11 | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
|  |   minimatch@9.0.5: | ||||||
|  |     dependencies: | ||||||
|  |       brace-expansion: 2.0.1 | ||||||
|  |  | ||||||
|   minimist@1.2.8: {} |   minimist@1.2.8: {} | ||||||
|  |  | ||||||
|   minipass-collect@1.0.2: |   minipass-collect@1.0.2: | ||||||
| @@ -2225,10 +2446,17 @@ snapshots: | |||||||
|       minipass: 3.3.6 |       minipass: 3.3.6 | ||||||
|       yallist: 4.0.0 |       yallist: 4.0.0 | ||||||
|  |  | ||||||
|  |   minizlib@3.0.1: | ||||||
|  |     dependencies: | ||||||
|  |       minipass: 7.1.2 | ||||||
|  |       rimraf: 5.0.10 | ||||||
|  |  | ||||||
|   mkdirp-classic@0.5.3: {} |   mkdirp-classic@0.5.3: {} | ||||||
|  |  | ||||||
|   mkdirp@1.0.4: {} |   mkdirp@1.0.4: {} | ||||||
|  |  | ||||||
|  |   mkdirp@3.0.1: {} | ||||||
|  |  | ||||||
|   moment-timezone@0.5.46: |   moment-timezone@0.5.46: | ||||||
|     dependencies: |     dependencies: | ||||||
|       moment: 2.30.1 |       moment: 2.30.1 | ||||||
| @@ -2302,6 +2530,11 @@ snapshots: | |||||||
|  |  | ||||||
|   path-parse@1.0.7: {} |   path-parse@1.0.7: {} | ||||||
|  |  | ||||||
|  |   path-scurry@1.11.1: | ||||||
|  |     dependencies: | ||||||
|  |       lru-cache: 10.4.3 | ||||||
|  |       minipass: 7.1.2 | ||||||
|  |  | ||||||
|   path-scurry@2.0.0: |   path-scurry@2.0.0: | ||||||
|     dependencies: |     dependencies: | ||||||
|       lru-cache: 11.0.1 |       lru-cache: 11.0.1 | ||||||
| @@ -2352,6 +2585,8 @@ snapshots: | |||||||
|       end-of-stream: 1.4.4 |       end-of-stream: 1.4.4 | ||||||
|       once: 1.4.0 |       once: 1.4.0 | ||||||
|  |  | ||||||
|  |   queue-microtask@1.2.3: {} | ||||||
|  |  | ||||||
|   rc@1.2.8: |   rc@1.2.8: | ||||||
|     dependencies: |     dependencies: | ||||||
|       deep-extend: 0.6.0 |       deep-extend: 0.6.0 | ||||||
| @@ -2378,11 +2613,17 @@ snapshots: | |||||||
|   retry@0.12.0: |   retry@0.12.0: | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
|  |   reusify@1.0.4: {} | ||||||
|  |  | ||||||
|   rimraf@3.0.2: |   rimraf@3.0.2: | ||||||
|     dependencies: |     dependencies: | ||||||
|       glob: 7.2.3 |       glob: 7.2.3 | ||||||
|     optional: true |     optional: true | ||||||
|  |  | ||||||
|  |   rimraf@5.0.10: | ||||||
|  |     dependencies: | ||||||
|  |       glob: 10.4.5 | ||||||
|  |  | ||||||
|   rimraf@6.0.1: |   rimraf@6.0.1: | ||||||
|     dependencies: |     dependencies: | ||||||
|       glob: 11.0.0 |       glob: 11.0.0 | ||||||
| @@ -2433,6 +2674,10 @@ snapshots: | |||||||
|  |  | ||||||
|   run-async@3.0.0: {} |   run-async@3.0.0: {} | ||||||
|  |  | ||||||
|  |   run-parallel@1.2.0: | ||||||
|  |     dependencies: | ||||||
|  |       queue-microtask: 1.2.3 | ||||||
|  |  | ||||||
|   rxjs@7.8.1: |   rxjs@7.8.1: | ||||||
|     dependencies: |     dependencies: | ||||||
|       tslib: 2.8.1 |       tslib: 2.8.1 | ||||||
| @@ -2583,10 +2828,23 @@ snapshots: | |||||||
|       mkdirp: 1.0.4 |       mkdirp: 1.0.4 | ||||||
|       yallist: 4.0.0 |       yallist: 4.0.0 | ||||||
|  |  | ||||||
|  |   tar@7.4.3: | ||||||
|  |     dependencies: | ||||||
|  |       '@isaacs/fs-minipass': 4.0.1 | ||||||
|  |       chownr: 3.0.0 | ||||||
|  |       minipass: 7.1.2 | ||||||
|  |       minizlib: 3.0.1 | ||||||
|  |       mkdirp: 3.0.1 | ||||||
|  |       yallist: 5.0.0 | ||||||
|  |  | ||||||
|   tmp@0.0.33: |   tmp@0.0.33: | ||||||
|     dependencies: |     dependencies: | ||||||
|       os-tmpdir: 1.0.2 |       os-tmpdir: 1.0.2 | ||||||
|  |  | ||||||
|  |   to-regex-range@5.0.1: | ||||||
|  |     dependencies: | ||||||
|  |       is-number: 7.0.0 | ||||||
|  |  | ||||||
|   toposort-class@1.0.1: {} |   toposort-class@1.0.1: {} | ||||||
|  |  | ||||||
|   tslib@2.8.1: {} |   tslib@2.8.1: {} | ||||||
| @@ -2665,4 +2923,6 @@ snapshots: | |||||||
|  |  | ||||||
|   yallist@4.0.0: {} |   yallist@4.0.0: {} | ||||||
|  |  | ||||||
|  |   yallist@5.0.0: {} | ||||||
|  |  | ||||||
|   yoctocolors-cjs@2.1.2: {} |   yoctocolors-cjs@2.1.2: {} | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ import { getConfig } from '@/module/index.ts'; | |||||||
| import inquirer from 'inquirer'; | import inquirer from 'inquirer'; | ||||||
|  |  | ||||||
| const command = new Command('deploy') | const command = new Command('deploy') | ||||||
|   .description('deploy to server') |   .description('把前端文件传到服务器') | ||||||
|   .argument('<filePath>', 'Path to the file to be uploaded') // 定义文件路径参数 |   .argument('<filePath>', 'Path to the file to be uploaded') // 定义文件路径参数 | ||||||
|   .option('-v, --version <version>', 'verbose') |   .option('-v, --version <version>', 'verbose') | ||||||
|   .option('-k, --key <key>', 'key') |   .option('-k, --key <key>', 'key') | ||||||
|   | |||||||
							
								
								
									
										225
									
								
								src/command/publish.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										225
									
								
								src/command/publish.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,225 @@ | |||||||
|  | import fs from 'fs/promises'; | ||||||
|  | import path from 'path'; | ||||||
|  | import * as tar from 'tar'; | ||||||
|  | import glob from 'fast-glob'; | ||||||
|  | import { program, Command } from '@/program.ts'; | ||||||
|  | import { getConfig } from '@/module/index.ts'; | ||||||
|  | import { fileIsExist } from '@/uitls/file.ts'; | ||||||
|  | import ignore from 'ignore'; | ||||||
|  |  | ||||||
|  | // 查找文件(忽略大小写) | ||||||
|  | async function findFileInsensitive(targetFile: string): Promise<string | null> { | ||||||
|  |   const files = await fs.readdir('.'); | ||||||
|  |   const matchedFile = files.find((file) => file.toLowerCase() === targetFile.toLowerCase()); | ||||||
|  |   return matchedFile || null; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 递归收集文件信息 | ||||||
|  | async function collectFileInfo(filePath: string, baseDir = '.'): Promise<any[]> { | ||||||
|  |   const stats = await fs.stat(filePath); | ||||||
|  |   const relativePath = path.relative(baseDir, filePath); | ||||||
|  |  | ||||||
|  |   if (stats.isFile()) { | ||||||
|  |     return [{ path: relativePath, size: stats.size }]; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   if (stats.isDirectory()) { | ||||||
|  |     const files = await fs.readdir(filePath); | ||||||
|  |     const results = await Promise.all(files.map((file) => collectFileInfo(path.join(filePath, file), baseDir))); | ||||||
|  |     return results.flat(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   return []; | ||||||
|  | } | ||||||
|  | // 解析 .npmignore 文件 | ||||||
|  | async function loadNpmIgnore(cwd: string): Promise<ignore.Ignore> { | ||||||
|  |   const npmIgnorePath = path.join(cwd, '.npmignore'); | ||||||
|  |   const ig = ignore.default(); | ||||||
|  |  | ||||||
|  |   try { | ||||||
|  |     const content = await fs.readFile(npmIgnorePath, 'utf-8'); | ||||||
|  |     ig.add(content); | ||||||
|  |   } catch (err) { | ||||||
|  |     console.warn('.npmignore not found, using default ignore rules'); | ||||||
|  |     // 如果没有 .npmignore 文件,使用默认规则 | ||||||
|  |     ig.add(['node_modules', '.git']); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   return ig; | ||||||
|  | } | ||||||
|  | // 获取文件列表,兼容 .npmignore | ||||||
|  | async function getFiles(cwd: string, patterns: string[]): Promise<string[]> { | ||||||
|  |   const ig = await loadNpmIgnore(cwd); | ||||||
|  |  | ||||||
|  |   // 使用 fast-glob 匹配文件 | ||||||
|  |   const allFiles = await glob(patterns, { | ||||||
|  |     cwd, | ||||||
|  |     dot: true, // 包括隐藏文件 | ||||||
|  |     onlyFiles: false, // 包括目录 | ||||||
|  |     followSymbolicLinks: true, | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   // 过滤忽略的文件 | ||||||
|  |   const filteredFiles = allFiles.filter((file) => !ig.ignores(file)); | ||||||
|  |   return filteredFiles; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | const pack = async () => { | ||||||
|  |   const cwd = process.cwd(); | ||||||
|  |   const collection: Record<string, any> = {}; | ||||||
|  |   const packageJsonPath = path.join(cwd, 'package.json'); | ||||||
|  |   if (!(await fileIsExist(packageJsonPath))) { | ||||||
|  |     console.error('package.json not found'); | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   let packageJson; | ||||||
|  |   try { | ||||||
|  |     const packageContent = await fs.readFile(packageJsonPath, 'utf-8'); | ||||||
|  |     packageJson = JSON.parse(packageContent); | ||||||
|  |   } catch (error) { | ||||||
|  |     console.error('Invalid package.json:', error); | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   let outputFileName = `${packageJson.name}-${packageJson.version}.tgz` | ||||||
|  |     .replace('@', '') // 替换特殊字符 @ | ||||||
|  |     .replace(/[\/\\:*?"<>|]/g, '-'); // 替换特殊字符 | ||||||
|  |  | ||||||
|  |   const outputFilePath = path.join(cwd, outputFileName); | ||||||
|  |  | ||||||
|  |   // 从 package.json 的 files 字段收集文件 | ||||||
|  |   const filesToInclude = packageJson.files | ||||||
|  |     ? await glob(packageJson.files, { | ||||||
|  |         cwd: cwd, | ||||||
|  |         dot: true, // 包括隐藏文件 | ||||||
|  |         onlyFiles: false, // 包括目录 | ||||||
|  |         followSymbolicLinks: true, // 处理符号链接 | ||||||
|  |       }) | ||||||
|  |     : []; | ||||||
|  |   // 确保 README.md 和 dist 存在(忽略大小写检测 README.md) | ||||||
|  |   const readmeFile = await findFileInsensitive('README.md'); | ||||||
|  |   if (readmeFile && !filesToInclude.includes(readmeFile)) { | ||||||
|  |     filesToInclude.push(readmeFile); | ||||||
|  |   } | ||||||
|  |   const packageFile = await findFileInsensitive('package.json'); | ||||||
|  |   if (packageFile && !filesToInclude.includes(packageFile)) { | ||||||
|  |     filesToInclude.push(packageFile); | ||||||
|  |   } | ||||||
|  |   const allFiles = (await Promise.all(filesToInclude.map((file) => collectFileInfo(file)))).flat(); | ||||||
|  |  | ||||||
|  |   // 输出文件详细信息 | ||||||
|  |   console.log('Tarball Contents:'); | ||||||
|  |   allFiles.forEach((file) => { | ||||||
|  |     console.log(`${file.size}B  ${file.path}`); | ||||||
|  |   }); | ||||||
|  |   const totalSize = allFiles.reduce((sum, file) => sum + file.size, 0); | ||||||
|  |   const packageSize = (totalSize / 1024).toFixed(2) + ' kB'; | ||||||
|  |  | ||||||
|  |   collection.files = allFiles; | ||||||
|  |   collection.packageJson = packageJson; | ||||||
|  |   collection.totalSize = totalSize; | ||||||
|  |  | ||||||
|  |   console.log('\nTarball Details'); | ||||||
|  |   console.log(`name:    ${packageJson.name}`); | ||||||
|  |   console.log(`version: ${packageJson.version}`); | ||||||
|  |   console.log(`filename: ${outputFileName}`); | ||||||
|  |   console.log(`package size: ${packageSize}`); | ||||||
|  |   console.log(`total files: ${allFiles.length}`); | ||||||
|  |   console.log(`Created package: ${outputFileName}`); | ||||||
|  |   try { | ||||||
|  |     await tar.c( | ||||||
|  |       { | ||||||
|  |         gzip: true, | ||||||
|  |         file: outputFilePath, | ||||||
|  |         cwd: cwd, | ||||||
|  |       }, | ||||||
|  |       filesToInclude, | ||||||
|  |     ); | ||||||
|  |   } catch (error) { | ||||||
|  |     console.error('Error creating tarball:', error); | ||||||
|  |   } | ||||||
|  |   return { collection, outputFilePath }; | ||||||
|  | }; | ||||||
|  | const packByIgnore = async () => { | ||||||
|  |   let collection: Record<string, any> = {}; | ||||||
|  |   const cwd = process.cwd(); | ||||||
|  |   const patterns = ['**/*']; // 匹配所有文件 | ||||||
|  |   const packageJsonPath = path.join(cwd, 'package.json'); | ||||||
|  |   let packageJson; | ||||||
|  |   try { | ||||||
|  |     const packageContent = await fs.readFile(packageJsonPath, 'utf-8'); | ||||||
|  |     packageJson = JSON.parse(packageContent); | ||||||
|  |   } catch (error) { | ||||||
|  |     console.error('Invalid package.json:', error); | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   let outputFileName = `${packageJson.name}-${packageJson.version}.tgz` | ||||||
|  |     .replace('@', '') // 替换特殊字符 @ | ||||||
|  |     .replace(/[\/\\:*?"<>|]/g, '-'); // 替换特殊字符 | ||||||
|  |  | ||||||
|  |   const outputFilePath = path.join(cwd, outputFileName); | ||||||
|  |  | ||||||
|  |   // 获取符合条件的文件列表 | ||||||
|  |   const files = await getFiles(cwd, patterns); | ||||||
|  |  | ||||||
|  |   console.log('Files to include in the package:'); | ||||||
|  |   // files 获取 size 和 path | ||||||
|  |   const filesInfo = await Promise.all(files.map((file) => collectFileInfo(file))); | ||||||
|  |   const allFiles = filesInfo.flat(); | ||||||
|  |   allFiles.forEach((file) => { | ||||||
|  |     console.log(`${file.size}B  ${file.path}`); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   const totalSize = allFiles.reduce((sum, file) => sum + file.size, 0); | ||||||
|  |   const packageSize = (totalSize / 1024).toFixed(2) + ' kB'; | ||||||
|  |  | ||||||
|  |   collection.files = allFiles; | ||||||
|  |   collection.packageJson = packageJson; | ||||||
|  |   collection.totalSize = totalSize; | ||||||
|  |  | ||||||
|  |   console.log('\nTarball Details'); | ||||||
|  |   console.log(`package size: ${packageSize}`); | ||||||
|  |   console.log(`total files: ${allFiles.length}`); | ||||||
|  |   const filesToInclude = files.map((file) => path.relative(cwd, file)); | ||||||
|  |   try { | ||||||
|  |     await tar.c( | ||||||
|  |       { | ||||||
|  |         gzip: true, | ||||||
|  |         file: outputFilePath, | ||||||
|  |         cwd: cwd, | ||||||
|  |       }, | ||||||
|  |       filesToInclude, | ||||||
|  |     ); | ||||||
|  |   } catch (error) { | ||||||
|  |     console.error('Error creating tarball:', error); | ||||||
|  |   } | ||||||
|  |   return { collection, outputFilePath }; | ||||||
|  | }; | ||||||
|  | const publishCommand = new Command('publish') | ||||||
|  |   .description('发布应用') | ||||||
|  |   .option('-k, --key <key>', '应用 key') | ||||||
|  |   .option('-v, --version <version>', '应用版本') | ||||||
|  |   .action(async (options) => { | ||||||
|  |     const { key, version } = options; | ||||||
|  |     const config = await getConfig(); | ||||||
|  |     const form = new FormData(); | ||||||
|  |     console.log('发布逻辑实现', { key, version, config }); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  | const packCommand = new Command('pack') | ||||||
|  |   .description('打包应用, 默认使用 package.json 中的 files 字段') | ||||||
|  |   .option('-i, --ignore', '使用 .npmignore 文件模式去忽略文件进行打包, 不需要package.json中的files字段') | ||||||
|  |   .action(async (opts) => { | ||||||
|  |     let value: { collection: Record<string, any>; outputFilePath: string }; | ||||||
|  |     if (opts.ignore) { | ||||||
|  |       value = await packByIgnore(); | ||||||
|  |     } else { | ||||||
|  |       value = await pack(); | ||||||
|  |     } | ||||||
|  |     // | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  | program.addCommand(publishCommand); | ||||||
|  | program.addCommand(packCommand); | ||||||
| @@ -9,6 +9,7 @@ import './command/config.ts'; | |||||||
| import './command/web.ts'; | import './command/web.ts'; | ||||||
| import './command/router.ts'; | import './command/router.ts'; | ||||||
| import './command/npm.ts'; | import './command/npm.ts'; | ||||||
|  | import './command/publish.ts'; | ||||||
|  |  | ||||||
| // program.parse(process.argv); | // program.parse(process.argv); | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								src/module/pino.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								src/module/pino.ts
									
									
									
									
									
										Normal file
									
								
							
		Reference in New Issue
	
	Block a user