From d2e12ca4c06429c1a52852c81fc674676f634039 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Thu, 26 May 2022 12:20:34 +0800 Subject: [PATCH] chore: update --- package.json | 10 +- pnpm-lock.yaml | 373 +++++++++---------------- rollup.config.ts | 31 +- scripts/copyClient.js | 3 +- scripts/copyShared.js | 3 +- scripts/release.js | 23 +- src/client/app/index.ts | 7 +- src/client/tsconfig.json | 2 + src/node/alias.ts | 4 +- src/node/build/render.ts | 9 +- src/node/cli.ts | 14 +- src/node/config.ts | 4 +- src/node/markdown/plugins/highlight.ts | 4 +- src/node/markdownToVue.ts | 8 +- src/node/plugin.ts | 10 +- tsconfig.json | 10 +- 16 files changed, 208 insertions(+), 307 deletions(-) diff --git a/package.json b/package.json index 781bcfec..2ed119f5 100644 --- a/package.json +++ b/package.json @@ -92,6 +92,7 @@ "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.0.4", + "@rollup/plugin-replace": "^4.0.0", "@types/body-scroll-lock": "^3.1.0", "@types/compression": "^1.7.0", "@types/cross-spawn": "^6.0.2", @@ -105,7 +106,7 @@ "@types/minimist": "^1.2.2", "@types/node": "^15.6.1", "@types/polka": "^0.5.3", - "chalk": "^4.1.1", + "@types/prompts": "^2.0.14", "chokidar": "^3.5.1", "compression": "^1.7.4", "conventional-changelog-cli": "^2.1.1", @@ -115,7 +116,7 @@ "enquirer": "^2.3.6", "esbuild": "^0.14.0", "escape-html": "^1.0.3", - "execa": "^5.0.0", + "execa": "^6.1.0", "fast-glob": "^3.2.7", "fs-extra": "^10.0.0", "globby": "^11.0.3", @@ -132,15 +133,18 @@ "minimist": "^1.2.5", "npm-run-all": "^4.1.5", "ora": "^5.4.0", + "picocolors": "^1.0.0", "polka": "^0.5.2", "prettier": "^2.3.0", + "prompts": "^2.4.2", "rimraf": "^3.0.2", "rollup": "^2.56.3", "rollup-plugin-dts": "^4.2.2", "rollup-plugin-esbuild": "^4.8.2", "semver": "^7.3.5", "sirv": "^1.0.12", - "typescript": "^4.6.4", + "supports-color": "^9.2.2", + "typescript": "^4.7.2", "vitest": "^0.10.4", "yorkie": "^2.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48b1a66b..199fbf8f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,11 +6,11 @@ importers: specifiers: '@docsearch/css': ^3.0.0 '@docsearch/js': ^3.0.0 - '@microsoft/api-extractor': ^7.23.1 '@rollup/plugin-alias': ^3.1.5 '@rollup/plugin-commonjs': ^20.0.0 '@rollup/plugin-json': ^4.1.0 '@rollup/plugin-node-resolve': ^13.0.4 + '@rollup/plugin-replace': ^4.0.0 '@types/body-scroll-lock': ^3.1.0 '@types/compression': ^1.7.0 '@types/cross-spawn': ^6.0.2 @@ -24,10 +24,10 @@ importers: '@types/minimist': ^1.2.2 '@types/node': ^15.6.1 '@types/polka': ^0.5.3 + '@types/prompts': ^2.0.14 '@vitejs/plugin-vue': ^2.3.2 '@vueuse/core': ^8.5.0 body-scroll-lock: ^4.0.0-beta.0 - chalk: ^4.1.1 chokidar: ^3.5.1 compression: ^1.7.4 conventional-changelog-cli: ^2.1.1 @@ -37,7 +37,7 @@ importers: enquirer: ^2.3.6 esbuild: ^0.14.0 escape-html: ^1.0.3 - execa: ^5.0.0 + execa: ^6.1.0 fast-glob: ^3.2.7 fs-extra: ^10.0.0 globby: ^11.0.3 @@ -54,16 +54,19 @@ importers: minimist: ^1.2.5 npm-run-all: ^4.1.5 ora: ^5.4.0 + picocolors: ^1.0.0 polka: ^0.5.2 prettier: ^2.3.0 prismjs: ^1.25.0 + prompts: ^2.4.2 rimraf: ^3.0.2 rollup: ^2.56.3 rollup-plugin-dts: ^4.2.2 rollup-plugin-esbuild: ^4.8.2 semver: ^7.3.5 sirv: ^1.0.12 - typescript: ^4.6.4 + supports-color: ^9.2.2 + typescript: ^4.7.2 vite: ^2.9.7 vitest: ^0.10.4 vue: 3.2.33 @@ -78,11 +81,11 @@ importers: vite: 2.9.9 vue: 3.2.33 devDependencies: - '@microsoft/api-extractor': 7.24.0 '@rollup/plugin-alias': 3.1.5_rollup@2.57.0 '@rollup/plugin-commonjs': 20.0.0_rollup@2.57.0 '@rollup/plugin-json': 4.1.0_rollup@2.57.0 '@rollup/plugin-node-resolve': 13.0.5_rollup@2.57.0 + '@rollup/plugin-replace': 4.0.0_rollup@2.57.0 '@types/body-scroll-lock': 3.1.0 '@types/compression': 1.7.2 '@types/cross-spawn': 6.0.2 @@ -96,22 +99,22 @@ importers: '@types/minimist': 1.2.2 '@types/node': 15.14.9 '@types/polka': 0.5.3 - chalk: 4.1.2 + '@types/prompts': 2.0.14 chokidar: 3.5.2 - compression: 1.7.4 + compression: 1.7.4_supports-color@9.2.2 conventional-changelog-cli: 2.1.1 cross-spawn: 7.0.3 - debug: 4.3.2 + debug: 4.3.2_supports-color@9.2.2 diacritics: 1.3.0 enquirer: 2.3.6 esbuild: 0.14.3 escape-html: 1.0.3 - execa: 5.1.1 + execa: 6.1.0 fast-glob: 3.2.7 fs-extra: 10.0.0 globby: 11.0.4 gray-matter: 4.0.3 - lint-staged: 11.1.2 + lint-staged: 11.1.2_supports-color@9.2.2 lru-cache: 6.0.0 markdown-it: 12.3.2 markdown-it-anchor: 8.4.1_sqgmms4st2tc55z6xiu73fum5q @@ -123,15 +126,18 @@ importers: minimist: 1.2.5 npm-run-all: 4.1.5 ora: 5.4.1 + picocolors: 1.0.0 polka: 0.5.2 prettier: 2.4.1 + prompts: 2.4.2 rimraf: 3.0.2 rollup: 2.57.0 - rollup-plugin-dts: 4.2.2_uqij4qbui2sihvymklsku23n6q - rollup-plugin-esbuild: 4.8.2_ofyf2sflbd3x5kuhhv7zkdsvfy + rollup-plugin-dts: 4.2.2_w5xdfl6eatezstmrfyphpo4gvm + rollup-plugin-esbuild: 4.8.2_2xzepk7ossicbmgxlmo67f4ari semver: 7.3.5 sirv: 1.0.17 - typescript: 4.6.4 + supports-color: 9.2.2 + typescript: 4.7.2 vitest: 0.10.5 yorkie: 2.0.0 @@ -251,13 +257,6 @@ packages: engines: {node: '>=4'} dev: true - /@babel/code-frame/7.14.5: - resolution: {integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.14.5 - dev: true - /@babel/code-frame/7.16.7: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} @@ -265,21 +264,11 @@ packages: dependencies: '@babel/highlight': 7.17.12 dev: true - optional: true /@babel/helper-validator-identifier/7.16.7: resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} engines: {node: '>=6.9.0'} - /@babel/highlight/7.14.5: - resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.16.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@babel/highlight/7.17.12: resolution: {integrity: sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==} engines: {node: '>=6.9.0'} @@ -288,7 +277,6 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 dev: true - optional: true /@babel/parser/7.16.4: resolution: {integrity: sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==} @@ -345,45 +333,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@microsoft/api-extractor-model/7.17.3: - resolution: {integrity: sha512-ETslFxVEZTEK6mrOARxM34Ll2W/5H2aTk9Pe9dxsMCnthE8O/CaStV4WZAGsvvZKyjelSWgPVYGowxGVnwOMlQ==} - dependencies: - '@microsoft/tsdoc': 0.14.1 - '@microsoft/tsdoc-config': 0.16.1 - '@rushstack/node-core-library': 3.45.5 - dev: true - - /@microsoft/api-extractor/7.24.0: - resolution: {integrity: sha512-cC5Vcu3N2OJh1G5v136JYtE4QQtQYq6mLiL8YXzFgu8aoq8T88kzq3/TxlihJvqGnrD96pf4PjS2Yg8RNYTQYw==} - hasBin: true - dependencies: - '@microsoft/api-extractor-model': 7.17.3 - '@microsoft/tsdoc': 0.14.1 - '@microsoft/tsdoc-config': 0.16.1 - '@rushstack/node-core-library': 3.45.5 - '@rushstack/rig-package': 0.3.11 - '@rushstack/ts-command-line': 4.11.0 - colors: 1.2.5 - lodash: 4.17.21 - resolve: 1.17.0 - semver: 7.3.5 - source-map: 0.6.1 - typescript: 4.6.4 - dev: true - - /@microsoft/tsdoc-config/0.16.1: - resolution: {integrity: sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ==} - dependencies: - '@microsoft/tsdoc': 0.14.1 - ajv: 6.12.6 - jju: 1.4.0 - resolve: 1.19.0 - dev: true - - /@microsoft/tsdoc/0.14.1: - resolution: {integrity: sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==} - dev: true - /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -463,6 +412,16 @@ packages: rollup: 2.57.0 dev: true + /@rollup/plugin-replace/4.0.0_rollup@2.57.0: + resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.57.0 + magic-string: 0.25.7 + rollup: 2.57.0 + dev: true + /@rollup/pluginutils/3.1.0_rollup@2.57.0: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} @@ -483,46 +442,12 @@ packages: picomatch: 2.3.0 dev: true - /@rushstack/node-core-library/3.45.5: - resolution: {integrity: sha512-KbN7Hp9vH3bD3YJfv6RnVtzzTAwGYIBl7y2HQLY4WEQqRbvE3LgI78W9l9X+cTAXCX//p0EeoiUYNTFdqJrMZg==} - dependencies: - '@types/node': 12.20.24 - colors: 1.2.5 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.17.0 - semver: 7.3.5 - timsort: 0.3.0 - z-schema: 5.0.3 - dev: true - - /@rushstack/rig-package/0.3.11: - resolution: {integrity: sha512-uI1/g5oQPtyrT9nStoyX/xgZSLa2b+srRFaDk3r1eqC7zA5th4/bvTGl2QfV3C9NcP+coSqmk5mFJkUfH6i3Lw==} - dependencies: - resolve: 1.17.0 - strip-json-comments: 3.1.1 - dev: true - - /@rushstack/ts-command-line/4.11.0: - resolution: {integrity: sha512-ptG9L0mjvJ5QtK11GsAFY+jGfsnqHDS6CY6Yw1xT7a9bhjfNYnf6UPwjV+pF6UgiucfNcMDNW9lkDLxvZKKxMg==} - dependencies: - '@types/argparse': 1.0.38 - argparse: 1.0.10 - colors: 1.2.5 - string-argv: 0.3.1 - dev: true - /@types/accepts/1.3.5: resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} dependencies: '@types/node': 15.14.9 dev: true - /@types/argparse/1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - /@types/body-parser/1.19.1: resolution: {integrity: sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==} dependencies: @@ -698,10 +623,6 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node/12.20.24: - resolution: {integrity: sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==} - dev: true - /@types/node/15.14.9: resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} dev: true @@ -723,6 +644,12 @@ packages: '@types/trouter': 3.1.0 dev: true + /@types/prompts/2.0.14: + resolution: {integrity: sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA==} + dependencies: + '@types/node': 15.14.9 + dev: true + /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true @@ -906,15 +833,6 @@ packages: indent-string: 4.0.0 dev: true - /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - /algoliasearch/4.11.0: resolution: {integrity: sha512-IXRj8kAP2WrMmj+eoPqPc6P7Ncq1yZkFiyDrjTBObV1ADNL8Z/KdZ+dWC5MmYcBLAbcB/mMCpak5N/D1UIZvsA==} dependencies: @@ -1204,17 +1122,6 @@ packages: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} dev: true - /colors/1.2.5: - resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} - engines: {node: '>=0.1.90'} - dev: true - - /commander/2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - requiresBuild: true - dev: true - optional: true - /commander/7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -1238,14 +1145,14 @@ packages: mime-db: 1.50.0 dev: true - /compression/1.7.4: + /compression/1.7.4_supports-color@9.2.2: resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.7 bytes: 3.0.0 compressible: 2.0.18 - debug: 2.6.9 + debug: 2.6.9_supports-color@9.2.2 on-headers: 1.0.2 safe-buffer: 5.1.2 vary: 1.1.2 @@ -1471,7 +1378,7 @@ packages: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /debug/2.6.9: + /debug/2.6.9_supports-color@9.2.2: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' @@ -1480,9 +1387,10 @@ packages: optional: true dependencies: ms: 2.0.0 + supports-color: 9.2.2 dev: true - /debug/4.3.2: + /debug/4.3.2_supports-color@9.2.2: resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} engines: {node: '>=6.0'} peerDependencies: @@ -1492,9 +1400,10 @@ packages: optional: true dependencies: ms: 2.1.2 + supports-color: 9.2.2 dev: true - /debug/4.3.3: + /debug/4.3.3_supports-color@9.2.2: resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} peerDependencies: @@ -1504,6 +1413,7 @@ packages: optional: true dependencies: ms: 2.1.2 + supports-color: 9.2.2 dev: true /decamelize-keys/1.1.0: @@ -2022,6 +1932,21 @@ packages: strip-final-newline: 2.0.0 dev: true + /execa/6.1.0: + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 3.0.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + /extend-shallow/2.0.1: resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} engines: {node: '>=0.10.0'} @@ -2029,10 +1954,6 @@ packages: is-extendable: 0.1.1 dev: true - /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - /fast-glob/3.2.7: resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} engines: {node: '>=8'} @@ -2044,10 +1965,6 @@ packages: micromatch: 4.0.4 dev: true - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - /fastq/1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: @@ -2085,15 +2002,6 @@ packages: universalify: 2.0.0 dev: true - /fs-extra/7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.8 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - /fs.realpath/1.0.0: resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} dev: true @@ -2307,6 +2215,11 @@ packages: engines: {node: '>=10.17.0'} dev: true + /human-signals/3.0.1: + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} + dev: true + /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true @@ -2324,11 +2237,6 @@ packages: resolve-from: 4.0.0 dev: true - /import-lazy/4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - /indent-string/4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} @@ -2505,6 +2413,11 @@ packages: engines: {node: '>=8'} dev: true + /is-stream/3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /is-string/1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -2539,10 +2452,6 @@ packages: resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: true - /jju/1.4.0: - resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=} - dev: true - /joycon/3.0.1: resolution: {integrity: sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==} engines: {node: '>=10'} @@ -2568,10 +2477,6 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true - /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - /json-stringify-safe/5.0.1: resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} dev: true @@ -2580,12 +2485,6 @@ packages: resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==} dev: true - /jsonfile/4.0.0: - resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} - optionalDependencies: - graceful-fs: 4.2.8 - dev: true - /jsonfile/6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -2604,6 +2503,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /kleur/3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + /lines-and-columns/1.1.6: resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} dev: true @@ -2614,7 +2518,7 @@ packages: uc.micro: 1.0.6 dev: true - /lint-staged/11.1.2: + /lint-staged/11.1.2_supports-color@9.2.2: resolution: {integrity: sha512-6lYpNoA9wGqkL6Hew/4n1H6lRqF3qCsujVT0Oq5Z4hiSAM7S6NksPJ3gnr7A7R52xCtiZMcEUNNQ6d6X5Bvh9w==} hasBin: true dependencies: @@ -2622,7 +2526,7 @@ packages: cli-truncate: 2.1.0 commander: 7.2.0 cosmiconfig: 7.0.1 - debug: 4.3.2 + debug: 4.3.2_supports-color@9.2.2 enquirer: 2.3.6 execa: 5.1.1 listr2: 3.12.2_enquirer@2.3.6 @@ -2682,14 +2586,6 @@ packages: p-locate: 4.1.0 dev: true - /lodash.get/4.4.2: - resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} - dev: true - - /lodash.isequal/4.5.0: - resolution: {integrity: sha1-QVxEePK8wwEgwizhDtMib30+GOA=} - dev: true - /lodash.ismatch/4.4.0: resolution: {integrity: sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=} dev: true @@ -2879,6 +2775,11 @@ packages: engines: {node: '>=6'} dev: true + /mimic-fn/4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + /min-indent/1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -2993,6 +2894,13 @@ packages: path-key: 3.1.1 dev: true + /npm-run-path/5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + /object-inspect/1.11.0: resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==} dev: true @@ -3030,6 +2938,13 @@ packages: mimic-fn: 2.1.0 dev: true + /onetime/6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + /ora/5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -3114,7 +3029,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.14.5 + '@babel/code-frame': 7.16.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.1.6 @@ -3145,6 +3060,11 @@ packages: engines: {node: '>=8'} dev: true + /path-key/4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -3227,13 +3147,16 @@ packages: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true - /pseudomap/1.0.2: - resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} + /prompts/2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 dev: true - /punycode/2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} + /pseudomap/1.0.2: + resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} dev: true /q/1.5.1: @@ -3332,19 +3255,6 @@ packages: engines: {node: '>=4'} dev: true - /resolve/1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - dependencies: - path-parse: 1.0.7 - dev: true - - /resolve/1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - dependencies: - is-core-module: 2.8.1 - path-parse: 1.0.7 - dev: true - /resolve/1.20.0: resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} dependencies: @@ -3380,7 +3290,7 @@ packages: glob: 7.2.0 dev: true - /rollup-plugin-dts/4.2.2_uqij4qbui2sihvymklsku23n6q: + /rollup-plugin-dts/4.2.2_w5xdfl6eatezstmrfyphpo4gvm: resolution: {integrity: sha512-A3g6Rogyko/PXeKoUlkjxkP++8UDVpgA7C+Tdl77Xj4fgEaIjPSnxRmR53EzvoYy97VMVwLAOcWJudaVAuxneQ==} engines: {node: '>=v12.22.11'} peerDependencies: @@ -3389,12 +3299,12 @@ packages: dependencies: magic-string: 0.26.2 rollup: 2.57.0 - typescript: 4.6.4 + typescript: 4.7.2 optionalDependencies: '@babel/code-frame': 7.16.7 dev: true - /rollup-plugin-esbuild/4.8.2_ofyf2sflbd3x5kuhhv7zkdsvfy: + /rollup-plugin-esbuild/4.8.2_2xzepk7ossicbmgxlmo67f4ari: resolution: {integrity: sha512-wsaYNOjzTb6dN1qCIZsMZ7Q0LWiPJklYs2TDI8vJA2LUbvtPUY+17TC8C0vSat3jPMInfR9XWKdA7ttuwkjsGQ==} engines: {node: '>=12'} peerDependencies: @@ -3402,7 +3312,7 @@ packages: rollup: ^1.20.0 || ^2.0.0 dependencies: '@rollup/pluginutils': 4.1.1 - debug: 4.3.3 + debug: 4.3.3_supports-color@9.2.2 es-module-lexer: 0.9.3 esbuild: 0.14.3 joycon: 3.0.1 @@ -3518,6 +3428,10 @@ packages: resolution: {integrity: sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==} dev: true + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + /sirv/1.0.17: resolution: {integrity: sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw==} engines: {node: '>= 10'} @@ -3527,6 +3441,10 @@ packages: totalist: 1.1.0 dev: true + /sisteransi/1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -3684,6 +3602,11 @@ packages: engines: {node: '>=6'} dev: true + /strip-final-newline/3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + /strip-indent/2.0.0: resolution: {integrity: sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=} engines: {node: '>=4'} @@ -3696,11 +3619,6 @@ packages: min-indent: 1.0.1 dev: true - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -3715,6 +3633,11 @@ packages: has-flag: 4.0.0 dev: true + /supports-color/9.2.2: + resolution: {integrity: sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==} + engines: {node: '>=12'} + dev: true + /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -3754,10 +3677,6 @@ packages: readable-stream: 3.6.0 dev: true - /timsort/0.3.0: - resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} - dev: true - /tinypool/0.1.3: resolution: {integrity: sha512-2IfcQh7CP46XGWGGbdyO4pjcKqsmVqFAPcXfPxcPXmOWt9cYkTP9HcDmGgsfijYoAEc4z9qcpM/BaBz46Y9/CQ==} engines: {node: '>=14.0.0'} @@ -3826,8 +3745,8 @@ packages: engines: {node: '>=8'} dev: true - /typescript/4.6.4: - resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} + /typescript/4.7.2: + resolution: {integrity: sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -3853,22 +3772,11 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /universalify/0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - /universalify/2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} dev: true - /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.1.1 - dev: true - /util-deprecate/1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: true @@ -3886,11 +3794,6 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /validator/13.7.0: - resolution: {integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==} - engines: {node: '>= 0.10'} - dev: true - /vary/1.1.2: resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} engines: {node: '>= 0.8'} @@ -4084,15 +3987,3 @@ packages: normalize-path: 1.0.0 strip-indent: 2.0.0 dev: true - - /z-schema/5.0.3: - resolution: {integrity: sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.7.0 - optionalDependencies: - commander: 2.20.3 - dev: true diff --git a/rollup.config.ts b/rollup.config.ts index fac34d03..c6e32037 100644 --- a/rollup.config.ts +++ b/rollup.config.ts @@ -1,8 +1,10 @@ import { defineConfig } from 'rollup' +import { promises as fs } from 'fs' import { nodeResolve } from '@rollup/plugin-node-resolve' import commonjs from '@rollup/plugin-commonjs' import esbuild from 'rollup-plugin-esbuild' import json from '@rollup/plugin-json' +import replace from '@rollup/plugin-replace' import dts from 'rollup-plugin-dts' import alias from '@rollup/plugin-alias' import { resolve } from 'path' @@ -10,9 +12,9 @@ import { fileURLToPath } from 'url' import pkg from './package.json' const ROOT = fileURLToPath(import.meta.url) -const r = (p:string) => resolve(ROOT, '..', p) +const r = (p: string) => resolve(ROOT, '..', p) -const external =[ +const external = [ ...Object.keys(pkg.dependencies), 'buffer', 'punycode', @@ -33,6 +35,12 @@ export default defineConfig([ 'readable-stream': 'stream' } }), + replace({ + // polyfill broken browser check from bundled deps + 'navigator.userAgentData': 'undefined', + 'navigator.userAgent': 'undefined', + preventAssignment: true + }), commonjs(), nodeResolve(), esbuild({ @@ -43,28 +51,29 @@ export default defineConfig([ onwarn(warning, warn) { if (warning.code !== 'EVAL') warn(warning) } - }, { + }, + { input: r('src/node/index.ts'), output: { format: 'esm', file: 'dist/node/index.d.ts' }, - plugins: [ - dts() - ] + plugins: [dts()] }, { - input: r('src/client/index.ts'), + input: r('dist/client-types/index.d.ts'), output: { format: 'esm', file: 'dist/client/index.d.ts' }, plugins: [ - dts({ - compilerOptions: { - "skipLibCheck": true, + dts(), + { + name: 'cleanup', + async closeBundle() { + await fs.rm(r('dist/client-types'), { recursive: true }) } - }) + } ] } ]) diff --git a/scripts/copyClient.js b/scripts/copyClient.js index 3abd6067..b5860e56 100644 --- a/scripts/copyClient.js +++ b/scripts/copyClient.js @@ -6,7 +6,6 @@ function toDest(file) { } sync('src/client/**').forEach((file) => { - if (/(\.ts|tsconfig\.json)$/.test(file)) - return + if (/(\.ts|tsconfig\.json)$/.test(file)) return copy(file, toDest(file)) }) diff --git a/scripts/copyShared.js b/scripts/copyShared.js index db4b810d..7b87b441 100644 --- a/scripts/copyShared.js +++ b/scripts/copyShared.js @@ -1,8 +1,7 @@ import { copy } from 'fs-extra' import { sync } from 'globby' -sync('src/shared/**/*.ts') -.map(async (file) => { +sync('src/shared/**/*.ts').map(async (file) => { await copy(file, file.replace(/^src\/shared\//, 'src/node/')) await copy(file, file.replace(/^src\/shared\//, 'src/client/')) }) diff --git a/scripts/release.js b/scripts/release.js index 075880fd..94f900ba 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -1,21 +1,24 @@ import { readFileSync, writeFileSync } from 'fs' import { resolve } from 'path' -import { cyan } from 'chalk' +import c from 'picocolors' import { inc as _inc, valid } from 'semver' -import { prompt } from 'enquirer' -import execa from 'execa' +import prompts from 'prompts' +import { execa } from 'execa' import { version as currentVersion } from '../package.json' +import { fileURLToPath } from 'url' const versionIncrements = ['patch', 'minor', 'major'] +const dir = dirname(fileURLToPath(import.meta.url)) const inc = (i) => _inc(currentVersion, i) -const run = (bin, args, opts = {}) => execa(bin, args, { stdio: 'inherit', ...opts }) -const step = (msg) => console.log(cyan(msg)) +const run = (bin, args, opts = {}) => + execa(bin, args, { stdio: 'inherit', ...opts }) +const step = (msg) => console.log(c.cyan(msg)) async function main() { let targetVersion - const { release } = await prompt({ + const { release } = await prompts({ type: 'select', name: 'release', message: 'Select release type', @@ -24,7 +27,7 @@ async function main() { if (release === 'custom') { targetVersion = ( - await prompt({ + await prompts({ type: 'input', name: 'version', message: 'Input custom version', @@ -39,7 +42,7 @@ async function main() { throw new Error(`Invalid target version: ${targetVersion}`) } - const { yes: tagOk } = await prompt({ + const { yes: tagOk } = await prompts({ type: 'confirm', name: 'yes', message: `Releasing v${targetVersion}. Confirm?` @@ -62,7 +65,7 @@ async function main() { await run('pnpm', ['changelog']) await run('pnpm', ['prettier', '--write', 'CHANGELOG.md']) - const { yes: changelogOk } = await prompt({ + const { yes: changelogOk } = await prompts({ type: 'confirm', name: 'yes', message: `Changelog generated. Does it look good?` @@ -89,7 +92,7 @@ async function main() { } function updatePackage(version) { - const pkgPath = resolve(resolve(__dirname, '..'), 'package.json') + const pkgPath = resolve(resolve(dir, '..'), 'package.json') const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8')) pkg.version = version diff --git a/src/client/app/index.ts b/src/client/app/index.ts index d22d123c..2e8e88d6 100644 --- a/src/client/app/index.ts +++ b/src/client/app/index.ts @@ -107,16 +107,11 @@ function newRouter(): Router { pageFilePath = pageFilePath.replace(/\.js$/, '.lean.js') } - // in browser: native dynamic import if (inBrowser) { isInitialPageLoad = false - - return import(/*@vite-ignore*/ pageFilePath) } - // SSR: sync require - // @ts-ignore - return import(pageFilePath) + return import(/*@vite-ignore*/ pageFilePath) }, NotFound) } diff --git a/src/client/tsconfig.json b/src/client/tsconfig.json index 92a8af1c..b00f54c4 100644 --- a/src/client/tsconfig.json +++ b/src/client/tsconfig.json @@ -5,6 +5,8 @@ "outDir": "../../dist/client", "target": "esnext", "module": "esnext", + "declaration": true, + "declarationDir": "../../dist/client-types", "lib": ["ESNext", "DOM"], "types": ["vite/client"], "paths": { diff --git a/src/node/alias.ts b/src/node/alias.ts index f863a46f..74585581 100644 --- a/src/node/alias.ts +++ b/src/node/alias.ts @@ -1,10 +1,10 @@ import { createRequire } from 'module' -import {resolve, join} from 'path' +import { resolve, join } from 'path' import { fileURLToPath } from 'url' import { Alias, AliasOptions } from 'vite' const require = createRequire(import.meta.url) -const PKG_ROOT = resolve(fileURLToPath(import.meta.url), '../../../') +const PKG_ROOT = resolve(fileURLToPath(import.meta.url), '../..') export const DIST_CLIENT_PATH = resolve(PKG_ROOT, 'client') export const APP_PATH = join(DIST_CLIENT_PATH, 'app') export const SHARED_PATH = join(DIST_CLIENT_PATH, 'shared') diff --git a/src/node/build/render.ts b/src/node/build/render.ts index 7e9d6989..120150e7 100644 --- a/src/node/build/render.ts +++ b/src/node/build/render.ts @@ -37,7 +37,7 @@ export async function renderPage( } // render page - const content = await import(rendererPath).then(r=>r.renderToString(app)) + const content = await import(rendererPath).then((r) => r.renderToString(app)) const pageName = page.replace(/\//g, '_') // server build doesn't need hash @@ -48,10 +48,9 @@ export async function renderPage( const pageClientJsFileName = `assets/${pageName}.${pageHash}.lean.js` // resolve page data so we can render head tags - const { __pageData } = await import(path.join( - config.tempDir, - pageServerJsFileName - )) + const { __pageData } = await import( + path.join(config.tempDir, pageServerJsFileName) + ) const pageData = JSON.parse(__pageData) let preloadLinks = config.mpa diff --git a/src/node/cli.ts b/src/node/cli.ts index 308fc416..b583b37a 100644 --- a/src/node/cli.ts +++ b/src/node/cli.ts @@ -1,11 +1,11 @@ -import chalk from 'chalk' +import c from 'picocolors' import minimist from 'minimist' import { createServer, build, serve } from '.' -import {version} from '../../package.json' +import { version } from '../../package.json' const argv: any = minimist(process.argv.slice(2)) -console.log(chalk.cyan(`vitepress v${version}`)) +console.log(c.cyan(`vitepress v${version}`)) const command = argv._[0] const root = argv._[command ? 1 : 0] @@ -21,20 +21,20 @@ if (!command || command === 'dev') { server.printUrls() }) .catch((err) => { - console.error(chalk.red(`failed to start server. error:\n`), err) + console.error(c.red(`failed to start server. error:\n`), err) process.exit(1) }) } else if (command === 'build') { build(root, argv).catch((err) => { - console.error(chalk.red(`build error:\n`), err) + console.error(c.red(`build error:\n`), err) process.exit(1) }) } else if (command === 'serve') { serve(argv).catch((err) => { - console.error(chalk.red(`failed to start server. error:\n`), err) + console.error(c.red(`failed to start server. error:\n`), err) process.exit(1) }) } else { - console.log(chalk.red(`unknown command "${command}".`)) + console.log(c.red(`unknown command "${command}".`)) process.exit(1) } diff --git a/src/node/config.ts b/src/node/config.ts index 0bd00bb5..6786b27a 100644 --- a/src/node/config.ts +++ b/src/node/config.ts @@ -1,6 +1,6 @@ import path from 'path' import fs from 'fs-extra' -import chalk from 'chalk' +import c from 'picocolors' import globby from 'globby' import { normalizePath, @@ -189,7 +189,7 @@ async function resolveUserConfig( : {} if (configPath) { - debug(`loaded config at ${chalk.yellow(configPath)}`) + debug(`loaded config at ${c.yellow(configPath)}`) } else { debug(`no config file found.`) } diff --git a/src/node/markdown/plugins/highlight.ts b/src/node/markdown/plugins/highlight.ts index 4b9af8fd..48999fde 100644 --- a/src/node/markdown/plugins/highlight.ts +++ b/src/node/markdown/plugins/highlight.ts @@ -1,4 +1,4 @@ -import chalk from 'chalk' +import c from 'picocolors' import escapeHtml from 'escape-html' import prism from 'prismjs' // @ts-expect-error @@ -37,7 +37,7 @@ export const highlight = (str: string, lang: string) => { loadLanguages([lang]) } catch (e) { console.warn( - chalk.yellow( + c.yellow( `[vitepress] Syntax highlight for language "${lang}" is not supported.` ) ) diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts index f3bb2542..0debef0a 100644 --- a/src/node/markdownToVue.ts +++ b/src/node/markdownToVue.ts @@ -6,7 +6,7 @@ import { createMarkdownRenderer, MarkdownOptions } from './markdown/markdown' import { deeplyParseHeader } from './utils/parseHeader' import { PageData, HeadConfig, EXTERNAL_URL_RE } from './shared' import { slash } from './utils/slash' -import chalk from 'chalk' +import c from 'picocolors' import _debug from 'debug' import { getGitTimestamp } from './utils/getGitTimestamp' @@ -95,10 +95,8 @@ export function createMarkdownToVueRenderFn( const deadLinks: string[] = [] const recordDeadLink = (url: string) => { console.warn( - chalk.yellow( - `\n(!) Found dead link ${chalk.cyan(url)} in file ${chalk.white.dim( - file - )}` + c.yellow( + `\n(!) Found dead link ${c.cyan(url)} in file ${c.white(c.dim(file))}` ) ) deadLinks.push(url) diff --git a/src/node/plugin.ts b/src/node/plugin.ts index e2297e85..acfadc85 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -49,10 +49,12 @@ export async function createVitePressPlugin( let markdownToVue: ReturnType // lazy require plugin-vue to respect NODE_ENV in @vue/compiler-x - const vuePlugin = await import('@vitejs/plugin-vue').then(r=>r.default({ - include: [/\.vue$/, /\.md$/], - ...userVuePluginOptions - })) + const vuePlugin = await import('@vitejs/plugin-vue').then((r) => + r.default({ + include: [/\.vue$/, /\.md$/], + ...userVuePluginOptions + }) + ) const processClientJS = (code: string, id: string) => { return scriptClientRE.test(code) diff --git a/tsconfig.json b/tsconfig.json index 62c23268..504cbcb3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,15 +3,15 @@ "module": "esnext", "target": "esnext", "moduleResolution": "node", + "esModuleInterop": true, "strict": true, - "noUnusedLocals": true, "skipLibCheck": true, - "esModuleInterop": true, + "noUnusedLocals": true, "resolveJsonModule": true, - "lib": ["ESNext", "DOM"], + "lib": ["ESNext", "DOM"] }, "exclude": [ - "node_modules", - "dist" + "**/node_modules/**", + "**/dist/**" ] }